windows下C++ 使用的IED是Clion,好处是开发过程中使用cmake,这样发布到Android时工程基本不需要改动(我的没改),直接使用IDEA就可以编译了,Android studio和IDEA一样的(这个我没测试过,idea里面内嵌的就是它所以估计是一样的..),如果弄到linux上发布也很简单... 好吧我不是专业的,就在这记录一下方便以后查看吧,凌晨4点了都...
1.为了简便起见直接将整个protobuf的源工程目录添加到我自己的工程中,如下图:
2.添加protobuf到我的工程中,add_subdirectory(${CMAKE_SOURCE_DIR}/protobuf-master/cmake) ,再添加一个依赖target_link_libraries(${APP_NAME} cocos2d libprotobuf)
3.设置protobuf CMakeList.txt的选项,根据自己的需求来设置,我这里主要是去掉了一些不需要的东西,其实我就只需要一个libprotobuf,如下图:
上面这个图看起来有点乱,使用cmakegui打开看一下,大概是这样的下面这样,(里面的勾勾是我手动去掉的 不是上面设置的结果,上面把那些ON替换成OFF他才会自动显示成没有勾,上面的设置我是照着下面这个来的,因为之前使用vs编译了protobuf是这么设置的)
到这里基本就可以编译了,但是cocos2dx的编译出来的lib文件位置还需要在设置一下:
所修改的文件是libprotobuf.cmake,如果要使用libprotobuf-lite的话那么也修改一下相应的camke就好了,指定输出路径可以使用set_target_properties,这个是照着cocos2dx里面的CMakeList写的,自己set 一下LIBRARY_OUTPUT_PATH 应该也是可以的。
到这里就可以编译成功了,使用Clion编译windows版本,和使用Idea编译Android版都OK。
睡觉..
如果你和我一样不是特别熟练的话可以先直接使用Clion打开protobuf,设置选项编译,这里能编译成功后再把整个protobuf拷贝过去,这样没有多做什么事情,万一出了啥情况也方便排查,拷贝过去之后就是add_subdirectory,设置依赖,然后设置一下lib生成的目录... 搞的时候一头包,总结起来也就这几步了...
真的睡了