我有一个包含本地和托管C++代码的项目。 其运行时支持设置为/clr
。 其配置类型曾被设置为Application
,因此它编译为.exe
。这工作一切正常。 但是现在我想将此项目用作另一个项目的库(.dll)。 因此,我将配置类型更改为动态库,并将main()
函数重命名为其他内容。 然后重建项目给出以下两个错误。将混合模式应用程序项目(.exe)转换为混合模式动态库(.dll)
Error 2 error LNK1120: 1 unresolved externals C:\Projects\MyProject\Source\Debug\MyProject.dll MyProject
Error 1 error LNK2001: unresolved external symbol _main C:\Projects\MyProject\Source\CppSource\LINK MyProject
相应的输出如下。
1>------ Build started: Project: MyProject, Configuration: Debug Win32 ------
1> Main.cpp
1>LINK : error LNK2001: unresolved external symbol _main
1>C:\Projects\MyProject\Source\Debug\MyProject.dll : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我在这里忘了什么吗?
在这里看到一些帮助[C++/CLI和混合模式编程](http://blogs.msdn.com/b/abhinaba/archive/2012/11/14/c-cli-and-mixed-mode- programming.aspx) – lsalamon
你是指特定的部分?这似乎是混合模式的一般指南。这个问题是特定于从一个EXE项目创建一个DLL。 –
很难想象会出现什么问题,当我尝试使用时,这种方法没有麻烦。请务必更改* all *配置的配置类型。并检查链接器>高级>入口点设置,它应该是空白的。 –