如题,我写了一个BHO程序,在其中调用一个MFC DLL,
但是在编译连接时有错误,错误如下
Linking...
Creating library ReleaseMinSize/BHOPlugin.lib and object ReleaseMinSize/BHOPlugin.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseMinSize/BHOPlugin.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.请问是什么原因》
我用的是动态加载DLL的方式
但是在编译连接时有错误,错误如下
Linking...
Creating library ReleaseMinSize/BHOPlugin.lib and object ReleaseMinSize/BHOPlugin.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseMinSize/BHOPlugin.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.请问是什么原因》
我用的是动态加载DLL的方式
解决方案 »
- TeeChart无法设置曲线颜色,求解
- 无法解析的外部符号 _IID_IHTMLDocument3
- vc drawstring 重绘快捷键的按钮
- 如何HOOK COM
- 怎么把文档/视图结构的应用程序(exe)改造成DLL,请高手指点
- 如何将一个单文档中的OnDraw中的内容转移至对话框上来显示呢,太复杂了,看不太懂哦.
- fatal error C1010: unexpected end of file while looking for precompiled header directive这个错误 什么意思 怎么解决 小弟菜鸟
- 判断系统中任一个文件大小的API函数是哪一个?
- 一个比较简单的问题,大家进来看看,谢谢!
- 关于TRACE,显示的信息太长,出现断言失败,怎么办? 在线!
- 关于IOCP的WSANOBUFS问题
- 一个有足够经念的程序员才能回答的问题??????
case DISPID_DOCUMENTCOMPLETE:
//::MessageBox(NULL, _T("DOCUMENT COMPLETE"), _T("信息"), MB_ICONINFORMATION);
{
HINSTANCE hInst;
hInst = LoadLibrary("Test.dll");
if (!hInst)
{
MessageBox(NULL,"DLL ERROR",NULL,MB_OK);
return S_FALSE;
}
typedef int (*ADD)(int,int);
ADD Add = (ADD)GetProcAddress(hInst,"add");
if (Add == NULL)
{
MessageBox(NULL,"DLL Func Addr ERROR",NULL,MB_OK);
return S_FALSE;
}
int c = Add(8,6);
char sad[20] = {0};
itoa(c,sad,10);
::MessageBox(NULL,sad,NULL,MB_OK);
FreeLibrary(hInst); break;
}
hInst 为空
在Release下就会出现下面的错误,
Linking...
Creating library ReleaseMinSize/BHOPlugin.lib and object ReleaseMinSize/BHOPlugin.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseMinSize/BHOPlugin.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
而是动态的MFC DLL
现在可以调用了
将stdafx.cpp文件里的#include <atlimpl.cpp> 注释掉就可以了现在还有一个问题是
为什么只能在Release模式下才能运行呢
在debug模式下不能调用DLL里的导出函数
楼主编译Release时,改下项目设置中的“创规”->“MFC的使用”的设置。