将混合模式应用程序项目(.exe)转换为混合模式动态库(.dll)



我有一个包含本地和托管c++代码的项目。它的运行时支持设置为/clr。它的配置类型以前设置为Application,因此编译为.exe。这一切都很好。但现在我想使用这个项目作为另一个项目的库(.dll)。因此,我将配置类型更改为动态库,并将main()函数重命名为其他类型。然后重新构建项目会出现以下两个错误:

Error   2   error LNK1120: 1 unresolved externals   C:ProjectsMyProjectSourceDebugMyProject.dll    MyProject
Error   1   error LNK2001: unresolved external symbol _main C:ProjectsMyProjectSourceCppSourceLINK     MyProject

输出如下:

1>------ Build started: Project: MyProject, Configuration: Debug Win32 ------
1>  Main.cpp
1>LINK : error LNK2001: unresolved external symbol _main
1>C:ProjectsMyProjectSourceDebugMyProject.dll : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我是不是忘了什么?

按照Hans Passant的建议,入口点设置必须为空。

这个答案的存在主要是为了标记这个帖子已经解决

最新更新