如何在运行时编译C++程序并将其链接到DLL中
How to compile and link a C++ program into a DLL in runtime
我正在使用CreateProcess
调用cl
和link
来编译另一个C++程序(TestProg.cxx
)并将其链接到DLL中。
TestProg.cxx
包含以下DllMain
功能:
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
return TRUE;
}
并且我将CCD_ 7添加到链接选项中。
我得到以下链接错误:
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
你能告诉我怎么修吗?感谢
您缺少CRT(C运行库)。例如,它提供__RTC_Shutdown
功能。当你链接它时,它会在你的DllMain
之前通过包装它来启动。这也会解决你的第一个链接错误。
相关文章:
- Windows 链接器是否使用 LoadLibrary 解析 DLL 中未定义的符号?
- 优化链接的 DLL
- 如何链接 DLL 以供 LoadLibrary() 使用(在 Windows 上的 C++ 中)并从调用 exe 导入变
- 不能使用隐式链接.dll中的类
- 显式链接 DLL 和类方法
- 哪种方法更好获取静态链接DLL的模块句柄(HMODULE) - 使用GetModuleHandleEx()或LoadLibrary()?
- 在QtCreator中链接dll的未定义引用错误
- 如何在qt中链接dll
- 在虚幻4插件中链接DLL
- 我们可以动态链接 DLL 的不同方法是什么
- 如果使用LoadLibrary显式链接dll,则列出从PE文件导入的函数
- 静态链接.dll和cmake/qt创建者?
- 当显式动态链接dll时,使用std::unique_lock会破坏XP的兼容性
- 导出:使用c++链接DLL
- 使用xerces链接DLL会给出未定义的符号
- Visual Studio中的链接dll
- 链接DLL时命令行错误
- 如何链接.dll库与c++ VS项目
- 设置显式链接DLL的内部变量
- LNK 2019试图链接DLL和EXE