1.
描述:
如下图所示,出现链接错误。那么链接问题一般也就两块设置:
(1)包含路径Additional Library Directories
(2)lib库的包含Additional Dependencies
这两个都检查了,没有问题,还是会出现这样的问题。最后基友帮忙下,换一个思维:重新建一个工程使用这里的lib没有问题,那大概怀疑是设置的问题或者设置导致的问题。
解决:
(1)把lib文件夹下面内容全部删掉
(2)把libuv、libpomelo和jansson工程的General-->Intermediate Directory文件夹改为默认的$(Configuration)obj$(ProjectName),因为开始调试问题改成了和General-->Output Directory一样的文件夹
(3)重现编译通过
原因:
Intermediate Directory设置和Output Direcory一样的文件夹,导致obj和lib在一个文件导致的。这里出现这个原因是什么不知道是为啥???但是通过把这两个路径设置成不一样的就ok,解决了问题
*补注:
看了[1]中的文章,有提到一个是obj有重名,分析了一下自己的情况
(1)libpomelo三个lib工程的Intermediate Directory设置一样记得是没有问题的,虽然比较了三个目录下面有同名的文件,比如thread.obj以及vc110.pdb等
(2)分析一下libpomelo三个工程和cocos2dx那些lib产生的obj有相冲突的地方,
(3)libpomelo的三个工程Output Director设置和cocos2dx的同一个文件夹,没有问题
(4)libpomelo的三个工程的OutputDirectory和Intermediate Directory设置成一样就有问题了,所以问题出在这了。
(4)最后确定了问题:只要libpomelo工程和libuv工程的Intermediate Directory的文件夹不一样就可以了,把libpomelo工程和jansson工程的Intermediate Directory放到和cocos2dx一样都可以。按照参考文章中说的,应该是thread.obj这些导致的
参考:
[1]http://blog.csdn.net/noetic_wxb/article/details/8112574