zoukankan      html  css  js  c++  java
  • 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,这两个关键点。

    再编译即正确通过。



  • 相关阅读:
    DateUtils
    Java静态绑定与动态绑定
    Mysql中实现递归查询
    架构一、核心概念
    Spring cron 表达式
    MySql点点滴滴(一)之可视化工具介绍
    java中注解的使用与实例
    3、第一个Python程序
    CSS命名
    如何在Notepad++ 中成功地安装Emmet 插件
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7019725.html
Copyright © 2011-2022 走看看