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

最近在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吗。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值