问题集锦:Cocos2dx CMake 在win32下报错:"BULLET_INCLUDE_DIR-NOTFOUND"

简介: 问题集锦:Cocos2dx CMake 在win32下报错:"BULLET_INCLUDE_DIR-NOTFOUND"

这个问题只有在win32平台下才有

  • frameworks\cocos2d-x\cmake\Modules\CocosUsePrebuiltLibs.cmake
# prebuild模块
set(all_prebuilt_libs
    chipmunk curl freetype2 jpeg png  
    tiff webp websockets openssl bullet
)
# 查找的目录
set(lib_dir_candidates
    ${_root}/prebuilt/${PLATFORM_FOLDER}/${ANDROID_ABI}
    ${_root}/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR}
    ${_root}/prebuilt/${PLATFORM_FOLDER}
    # 注意这里的release-lib, 其实只有chipmunk有
    ${_root}/prebuilt/${PLATFORM_FOLDER}/release-lib
    ${_root}/prebuilt/${ARCH_DIR}
    ${_root}/libraries/${PLATFORM_FOLDER}
    ${_root}/prebuilt
)
# 中间的逻辑是收集所有的lib路径
# 如果找到了设置对应的变量${_prefix}_LIBRARIES
if(libs)
    set(${_prefix}_LIBRARIES ${libs} CACHE STRING "Libraries to link for ${_prefix}" FORCE)
endif()
复制代码
  • chipmunk:cocos2d-x\external\chipmunk\prebuilt\win10\win32\chipmunk.lib
  • chipmunk:cocos2d-x\external\chipmunk\prebuilt\win32\release-lib\chipmunk.lib
    网络异常,图片无法展示
    |
  • curl: cocos2d-x\external\curl\prebuilt\win32\libcurl.lib
  • freetype2: cocos2d-x\external\freetype2\prebuilt\win32\freetype.lib
  • jpeg:  cocos2d-x\external\jpeg\prebuilt\win32\libjpeg.lib
  • png:  cocos2d-x\external\png\prebuilt\win32\libpng.lib
  • tiff:  cocos2d-x\external\tiff\prebuilt\win32\libtiff.lib
  • webp:  cocos2d-x\external\webp\prebuilt\win32\libwebp.lib
  • websockets:  cocos2d-x\external\websockets\prebuilt\win32\websockets.lib
  • openssl:  cocos2d-x\external\openssl\prebuilt\win32\libssl.lib
  • bullet:  cocos2d-x\external\bullet\prebuilt\win32\debug\libbullet.lib

问题就出在bullet的debug目录

网络异常,图片无法展示
|

查找目录的确是没有相关的目录的,很不幸在官方仓库也是这么组织目录的

一个很细的逻辑:

里面有一段这样的逻辑,其实我发现没有任何用,_bullet_libs的设置是无效的,不太清楚为啥这么写

# sequence is important
set(_bullet_libs BulletDynamics libBulletDynamics BulletCollision libBulletCollision BulletMultiThreaded libBulletMultiThreaded LinearMath libLinearMath MiniCL libMiniCL)
复制代码

临时解决办法

增加lib_dir_candidates的目录,显然,没有考虑到debug、release模式,但是chipmunk也存在这个问题

${_root}/prebuilt/${PLATFORM_FOLDER}/release
复制代码

特殊情况:zlib

有2个查找路径,zlib是在specific里面

set(roots
    ${COCOS_EXTERNAL_DIR}/${_lib}
    ${COCOS_EXTERNAL_DIR}/${PLATFORM_FOLDER}-specific/${_lib}
)
复制代码

网络异常,图片无法展示
|
网络异常,图片无法展示
|



目录
相关文章
|
iOS开发
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
3272 0
|
C语言 Android开发 Windows
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: <stdio.h>”错误的方法
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: <stdio.h>”错误的方法
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: <stdio.h>”错误的方法
|
Linux 开发工具 C语言
hi3559 C/C++混编 makefile(基于官方sample)
由于个人需要想做海思的C++和C混编,好像不认真学一学makefile不行了 本人博客,csdn搬运 main函数是卸载cpp里面的,写在c里面的就是给你们提供一个思路了 弄明白了有空自己写呐,海思的makefile感觉嵌套的太冗余了,正常开发一个片子用不到呐
256 0
|
开发工具 iOS开发 Perl
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
184 0
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
|
C语言
全网首发:终极解决办法:/usr/bin/ld: libcc.so: no symbol version section for versioned symbol `memcpy@GLIBC_2.0‘
全网首发:终极解决办法:/usr/bin/ld: libcc.so: no symbol version section for versioned symbol `memcpy@GLIBC_2.0‘
297 0
|
移动开发 iOS开发
IOS开发错误library not found for -lXXX
IOS开发错误library not found for -lXXX
1110 0
IOS开发错误library not found for -lXXX
关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法
关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法
关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法
|
C++ 计算机视觉 Windows
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
|
编译器 C语言 计算机视觉
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
1676 0
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
|
编译器 C语言 Windows
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。
561 0
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。