linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'

解決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,這兩個關鍵點。

再編譯即正確通過。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章