error LNK2001: 无法解析的外部符号 _main

来源:互联网 发布:淘宝加热区 编辑:程序博客网 时间:2024/06/14 00:57

最近在vs2010写测试程序,编译时发现一个非常诡异的问题。

编译时有时候提示:error LNK2001: 无法解析的外部符号 _main错误。

有时候则提示 error LNK2001: 无法解析的外部符号  _test_msgqueue  (test_msgqueue函数是我在一个c文件中定义的一个函数)

开始找原因

.........

折磨了一天终于找到,应该记下来。

原来我创建的控制台程序名称为acl_unit_test 默认main函数生成在 acl_unit_test.cpp中,而我增加的单元测试函数test_msgqueue被我放在创建的c文件 acl_unit_test.c中。

猜测应该是vs2010认为main函数应该存在于与工程同名的c或者cpp文件中,我这边增加了与工程名同名的c文件,结果工程指导编译器在我这个c文件中找main,找不到就犯二啦。

解决办法:把我的acl_unit_test,.c改个名acl_unittest,.c 问题解决。这算是vs的bug吗。

0 0