错误LNK1561:必须定义入口点
我正在使用Visual Studio 2012。
我的解决方案有3个项目
了projectA
项目B
项目C
而层次结构就像
projectC依赖于projectB ,而projectB又取决于projectA 。 projectC中有一个main函数 ,projectB和projectA中没有main。 我得到的错误是:
error LNK1561: entry point must be defined projectA error LNK1561: entry point must be defined projectB
我已尝试在配置属性 – >链接器 – >系统 – >子系统更改为控制台(/ SUBSYSTEM:CONSOLE)但问题仍然存在
帮助我解决这个问题。
看来,你误解了“模块”一词。 Visual Studio中没有这样的C ++项目; C ++项目可以分为三类:
- 程序 – 编译产生一个
exe
文件,可以执行; - 静态库 – 编译生成一个
lib
文件,该文件可以包含在另一个项目中并在编译期间链接; - 动态库 – 编译生成一个
dll
文件,该文件可以在运行时附加到您的程序并提供其他function。
根据您的描述,您希望projectB和projectC成为静态库,而是将它们创建为可执行文件。 再次运行新项目向导并选择“静态库”而不是“Windows应用程序”。
您可以在MSDN库中阅读有关静态库的更多信息。
如果静态库对于您的应用程序来说太重要了,您可以在项目中包含projectB和projectC文件(可选择处理名称空间而不要混淆类的名称)。 这完全取决于您计划在这些“模块”中实施多少function。
将属性 – >链接器 – >系统 – >子系统设置为“Windows(/ SUBSYSTEM:WINDOWS)”
我猜你正在使用Windows创建这个项目,对我来说,如果我经常使用SDL我得到这个错误,你所要做的就是输入#include
来修复它,如果没有,那么我不确定如何解决这个问题。