【发布时间】:2012-03-19 09:37:42
【问题描述】:
我正在使用CreateProcess 调用cl 和link 来编译并将另一个C++ 程序(TestProg.cxx) 链接到一个DLL 中。
TestProg.cxx 包含以下DllMain 函数:
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
return TRUE;
}
我在链接选项中添加了/Entry:DllMain。
我收到以下链接错误:
LINK : error LNK2001: unresolved external symbol _DllMain
main.obj : error LNK2001: unresolved external symbol __RTC_Shutdown
main.obj : error LNK2001: unresolved external symbol __RTC_InitBase
main.dll : fatal error LNK1120: 3 unresolved externals
你能告诉我如何解决它吗?谢谢
【问题讨论】:
-
我的猜测是你看到了 C++ 的名称修改问题。
-
不太可能;
extern "C"是表明您想要 C 而不是 C++ 名称修改的正确方法。但即使是 C 也有名称修饰,正如您从领先的_中看到的那样
标签: c++ dll linker createprocess entry-point