zoukankan      html  css  js  c++  java
  • linux上cocos2dx 环境配置

    1.cocos2dx 3.x开始要用到c++11,makefile文件中需要-std=c++11这个选项,

    所以升级g++参考 http://www.cnblogs.com/coolulu/p/4124803.html

    2.

    l参考 http://www.cocos2d-x.org/docs/manual/framework/native/v3/getting-started/how-to-run-cpp-tests-on-linux/en
           
      sudo apt-get install libx11-dev  
      sudo apt-get install libxmu-dev  
      sudo apt-get install libglu1-mesa-dev  
      sudo apt-get install libgl2ps-dev  
      sudo apt-get install libxi-dev  
      sudo apt-get install g++    
      sudo apt-get install libzip-dev  
      sudo apt-get install libpng12-dev  
      sudo apt-get install libcurl4-gnutls-dev  
      sudo apt-get install libfontconfig1-dev  
      sudo apt-get install libsqlite3-dev  
      sudo apt-get install libglew*-dev  
      sudo apt-get install libssl-dev  
           
      $ cd $cocos2dx_root/build    
      $ ./install-deps-linux.sh    
      $ mkdir linux-build    
      $ cd linux-build    
      $ cmake ../..    
      $ make(建议make -k遇到错误不中断,继续编译,节省时间)    
    问题1  解决 cocos2dx3.x 生成makefile g++需要支持-std=c++11编译选项 把g++升级到4.8.3    
           
    问题2  解决 Linking CXX executable ../../bin/cpp-empty-test/cpp-empty-test
      /usr/bin/ld: cannot find -lfmodex64  
      /usr/bin/ld: cannot find -lwebsockets  
      /usr/bin/ld: cannot find -ljpeg   sudo apt-get install libjpeg-dev
      /usr/bin/ld: cannot find -lwebp   sudo apt-get install libwebp-dev
      /usr/bin/ld: cannot find -ltiff   sudo apt-get install libtiff4-dev 
      collect2: 错误:ld 返回 1    
      make[2]: *** [bin/cpp-empty-test/cpp-empty-test] Error 1
      make[1]: *** [tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/all] Error 2
      make: *** [all] Error 2    
           
    问题3  解决 /usr/bin/ld: cannot find -lfmodex64  
     翻墙 参考:http://ubuntuguide.org/wiki/Skulltag_tips 
     翻墙 参考:http://wiki.zandronum.com/Install_Zandronum_on_Ubuntu
      wget -c http://www.fmod.org/download/fmodex/api/Linux/fmodapi42416linux64.tar.gz
      make install    
      mv /usr/local/lib/libfmodex64-4.24.16.so /usr/local/lib/libfmodex64.so 
           
    问题4  解决 /usr/bin/ld: cannot find -lwebsockets  
      wget -c http://git.libwebsockets.org/cgi-bin/cgit/libwebsockets/snapshot/libwebsockets-1.3-chrome37-firefox30.tar.gz
      先要安装openssl    
      sudo apt-get install openssl   
      sudo apt-get install libssl-dev  
      cd 源代码目录    
      mkdir build    
      cd build    
      cmake ..    
      make    
      cd lib    
      vi /etc/ld.so.conf 添加/usr/local/lib  ldconfig  
           
    1 cp libwebsockets.so.4.0.0 /usr/local/lib/libwebsockets.so  这个方法后报 问题5
           
    问题5 解决 Linking CXX executable ../../bin/cpp-empty-test/cpp-empty-test
      ../../lib/libcocos2d.a(CCImage.cpp.o): In function `WebPIDecGetYUV':
      /home/melos1305/project/cocos2dx/cocos2d-x-3.1/external/webp/include/linux/decode.h:322: undefined reference to `WebPIDecGetYUVA'
      collect2: 错误:ld 返回 1    
      make[2]: *** [bin/cpp-empty-test/cpp-empty-test] Error 1
      make[2]: Target `tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/build' not remade because of errors.
      make[1]: *** [tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/all] Error 2
      [ 72%] Built target cpp-empty-test_CORE_PRE_BUILD  
      cpp-empty-test_PRE_BUILD ...  
           
      可能是sudo apt-get install libwebp-dev安装的版本对不上,sudo apt-get remove libwebp-dev
      后面自然好,在/external/webp/prebuilt/linux/64-bit/libwebp.a 转换成 libweb.so  ar -x libwebp.a;gcc -shared *.o -o libwebp.so
      一开始还是错的, mv libwebp.so libwebp.so111 删了libwebp.so编译过了
           
           
      计划去下载webp":"0.2.1的源代码编译  
      wget -c https://chromium.googlesource.com/webm/libwebp/+archive/74fefc8ce8d83946b763345575d6d2c608ba212a.tar.gz
           
    问题6 解决 melos1305@melos1305-B85M-DS3H:~/project/cocos2dx/cocos2d-x-3.1/build/linux-build/bin/cpp-empty-test$ ./cpp-empty-test     
      ./cpp-empty-test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./cpp-empty-test)
           
      1.  vi /etc/ld.so.conf 添加/usr/local/gcc-4.8.3/lib64/libstdc++.so.6 ldconfig 失败
           
      2. ln -si  /usr/local/gcc-4.8.3/lib64/libstdc++.so.6.0.19 libstdc++.so.6 
       ok  只能挂链接,服务端的ubuntu是64位,所以lib64/libstd++.so.6的默认版本不够,需要支持到GLIBCXX_3.4.18以上, 
      查看GLIBCXX信息 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
      strings /usr/local/gcc-4.8.3/lib64/libstdc++.so.6.0.19 | grep GLIBCXX

    编译完之后执行文件在cocos2d-x-3.1/build/linux-build/bin的子文件夹里

     

    3. 上面的找不到库文件的问题是,其实可以不用自己找,被坑了。

    因为svn服务器上默认不上传.a文件。类似的还有可能是.so文件。比如如果用了fmod库,提示找不到fmod库的.so文件的时候,

    看看svn设置里面的忽略文件类型。一般*.a和*.so都是被忽略的。任意文件夹右击,找到tortoiseSVN->属性(setting)->常规属性,右侧面板下方可看到。

    参考 http://blog.csdn.net/o_oxo_o/article/details/39377797

    参考 http://blog.csdn.net/lxd211/article/details/23977525

  • 相关阅读:
    PAT 1010. 一元多项式求导 (25)
    PAT 1009. 说反话 (20) JAVA
    PAT 1009. 说反话 (20)
    PAT 1007. 素数对猜想 (20)
    POJ 2752 Seek the Name, Seek the Fame KMP
    POJ 2406 Power Strings KMP
    ZOJ3811 Untrusted Patrol
    Codeforces Round #265 (Div. 2) 题解
    Topcoder SRM632 DIV2 解题报告
    Topcoder SRM631 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/coolulu/p/4142342.html
Copyright © 2011-2022 走看看