ue4工程编译时,如果只是将protobuf.lib链接进来,不加入protoc生成的代码,那么编译时没有问题的,但是如果加进来了,那么就跪了:
error LNK2019: unresolved external symbol "public: __cdecl 。。。"
之前这个问题没想明白,以为可以通过设置工程来解决这个错误,后来想了想,protoc生成的代码都是标准c++代码,其头文件定义class的位置没有加入UE4工程的宏,比如:MyProject_API;另外cpp文件有没有包含工程的头文件,比如:#include "MyProject.h"。
如何解决呢,如果直接修改这些生成的代码,貌似不科学,那么能否像其他第三方库一样,打成lib再链接到UE4工程?我的处理方式就是这样的,这个问题折腾了几天今天终于彻底搞定了。
本文探讨了在UE4项目中遇到的protobuf链接问题。当尝试将protoc生成的代码直接加入UE4工程时出现LNK2019错误。通过分析发现,问题在于生成的代码未适配UE4宏及头文件。最终解决方案是将protobuf打包为lib库进行链接。
855

被折叠的 条评论
为什么被折叠?



