版权声明:本文为博主原创文章,转载请注明源地址。 https://cloud.tencent.com/developer/article/1433484
正在设计的一个C/C++混合语言项目是用cmake来管理编译的,用cmake生成的一个Visual Studio工程(c++)在编译时报了个错:
LINK : error LNK2001: 无法解析的外部符号 WinMainCRTStartup
好是莫名其妙的问题,之前是没有这个问题的,反复查看了GIT提交记录,发现问题出在cmake脚本中
原本项目的定义是这样的,语言指定C,CXX,这样是可以正常编译的。
project(gfirfid VERSION 1.0.4 LANGUAGES C CXX)
因为其他的原因,我改成了
project(gfirfid VERSION 1.0.4 LANGUAGES C)
然后就报错了。
project命令中LANGUAGES参数用于指定支持的语言,如果不指定该参数或该参数为空,则默认为支持C,CXX。
对于Visual Studio 的MFC工程如果没有指定CXX就在编译的的时候,如果不是MFC的程序,应该也不会报错。