linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
阿新 • • 發佈:2017-06-15
water span x86 code bject data- ace 技術分享 inux
改動後的例如以下:
即添加了 -Wl,--no-as-needed,這兩個關鍵點。
解決cocos2d-x中編譯出現的一個小問題
對於cocos2d-x 2.×中編譯中,若頭文件裏引入了#include "cocos-ext.h",在進行C++編譯的時候會遇到例如以下錯誤:
undefined reference to symbol ‘pthread_create@@GLIBC_2.2.5‘/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
在網上google了好長時間,有人說要改動源代碼中的cocos2dx.mk中的一些配置,本人依照那個說的改過之後還是出現老問題,在官網上查到的也是這種回答。貌似改動cocos2dx.mk能夠,可是我始終沒解決。
附上官方的解決的方法:點擊打開鏈接,例如以下
最後在論壇中找到解決的方法,最簡單的辦法。
在linux下用C++開發cocos2d-x時須要用到makefile文件,直接在proj.linux中能夠找到makefile文件。打開文件會看到原始的配置,解決上述編譯問題時直接改動$LOG_LINK中的配置
原始連接例如以下:
$(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDLIBS) $(STATICLIBS)
改動後的例如以下:
$(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -Wl,--no-as-needed -o $@ $(SHAREDLIBS) $(STATICLIBS)
即添加了 -Wl,--no-as-needed,這兩個關鍵點。
再編譯即正確通過。
linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'