最近使用eclipse新建立了一个工程,编译环境为cygwin-1.7。奇怪的是,在编译程序时总是出现问题:undefined reference to `_WinMain@16’。仔细检查了工程的各项配置,编译问题依旧。

在网上搜索,也找不到相应的问题解决方法。冷静下来,仔细分析问题所在。

在cygwin中编译链接一个程序时,出现了如下错误:

Building target: brcmAdapter.exe
Invoking: Cygwin C Linker
gcc -L”D:\work_new\src\03_broadcom\brcmAdapter\source\brcmAdapter\unitTest\lib” -o “brcmAdapter.exe” ./src/common/brcmAdapterMutex.o ./src/brcmAdapterMemMgr/brcmAdapterMemMgr.o ./src/brcmAdapterAlloctor/brcmAdapterAlloctor.o ./src/brcmAdapterAlloctor/brcmAdapterMsgQue.o ./src/brcmAdapter.o -lgtest -lgcov
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../libcygwin.a(libcmain.o): In function `main’:
/home/corinna/src/cygwin/cygwin-1.7.15/cygwin-1.7.15-1/src/cygwin-1.7.15/winsup/cygwin/lib/libcmain.c:39: undefined reference to `_WinMain@16′
collect2: ld returned 1 exit status
make: *** [brcmAdapter.exe] Error 1

**** Build Finished ****

即未定义:undefined reference to `_WinMain@16′

尝试把Elf Parser勾选上,如下图所示,问题依旧。

图片1

在冥思苦想之际,忽然发现了这个问题所在,也就是下面的解决方法。

解决办法

原来,在创建eclipse工程时,建立的是C工程。但工程中单元测试的库gtest却是C++的。所以必须创建C++的工程。

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量