[问题记录]libpomelo工程调整编译链接错误
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统