使用VS2010创建C ++非托管DLL

时间:2011-12-10 22:01:42

标签: c++ visual-studio-2010 dll unmanaged

我在VS2010中创建了一个dll项目(Win32控制台应用程序> dll)。我编译时在项目中放了一些头文件我得到了这个错误:

error LINK2001: unresolved external symbol _dllmaincrtstartup@12
这是什么?我该如何解决? 头文件也定义了许多抽象类。

2 个答案:

答案 0 :(得分:0)

使用 / NOENTRY 选项,该选项是创建仅资源DLL 所必需的。使用此选项可防止LINK将对_main的引用链接到DLL中。

项目属性页 - >链接器 - >高级:无入口点设置为是(/ NOENTRY)

包含使用/ clr编译的对象的 DLL 未与 / NOENTRY 链接;图片可能无法正常运行“ http://support.microsoft.com/kb/814472

答案 1 :(得分:-1)

问:这是.dll无法构建(而不是使用.dll的.exe),对吗?

问:.dll源中的任何内容都有DllMain()吗?

如果没有,你会考虑加一个吗?

问:您确定为“DLL”配置了项目设置吗?对于“/ MT”(多线程,静态链接)?

问:没有其他问题,您是否考虑过创建一个新项目,创建一个“hello world”.dll,并验证它是否已构建?