![]() |
#2
冰镇柠檬汁儿2006-01-18 13:47
http://www.programfan.com/club/showtxt.asp?id=137373
你是高人,你的这个问题,我实在是不会。 虽然能用DLL实现的东西都可以用COM来实现,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用MFC来创建不同类型的DLL,以及如何使用他们。 二、建立DLL |
请教静态库的问题
一.建立了静态链接库的A.exe应用程序.
二.建立了静态链接库的B.DLL文件
<u>B.DLL代码</u>
<b>方法一:</b>
#pragma once
class AFX_EXT_CLASS Dll
{
public:
void rxgas();
{
AfxMessageBox(_T("ddd"));
}
};
A.exe应用程序调用B.dll正常
<b>方法二:</b>
<<<<<<<H>>>>>>
#pragma once
class AFX_EXT_CLASS Dll
{
public:
void rxgas();
};
<<<<<<<Cpp>>>>>>>
#include "stdafx.h"
#include "Dll.h"
void Dll::rxgas()
{
AfxMessageBox(_T("ddd111"));
}
A.exe应用程序调用B.dll
#include "Dll.h"
#pragma comment(lib,"WinDll.lib")
....................
Dll a;
a.rxgas();
错如下:
TestDlg.obj : error LNK2019: unresolved external symbol "public: void __thiscall Dll::Rxgas(void)" (?Rxgas@Dll@@QAEXXZ) referenced in function "public: void __thiscall CTestDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CTestDlg@@QAEXXZ)
为什么?这样写会错呢?
谢谢:)