繁体   English   中英

如何在运行时将C ++程序编译并链接到DLL

[英]How to compile and link a C++ program into a DLL in runtime

我正在使用CreateProcess调用cllink来编译和链接另一个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

你能让我知道如何解决吗? 谢谢

您缺少CRT(C运行时库)。 例如,它提供了__RTC_Shutdown函数。 当您将其链接时,它通过包装DllMain之前开始。 这也将解决您的第一个链接错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM