通过CMakeList和pkg-config工具使用Emscripten编译项目
问题:使用pkg-config的依赖关系无法解决
使用:
cmake .
效果很好。
使用emscripten:
emconfigure cmake .

由于某些原因,项目的依赖项未解决。
我已经调查过了,发现Emscripten正在使用他自己的pkg-config搜索路径来解析依赖项/使用emconfigure:
emconfigure pkg-config --list-all不会列出通过经典=>提供的所有库
pkg-config --list-all我可能漏掉了什么。
有没有办法强制emscripten使用全局pkg-config系统?
编辑:是否需要先将依赖项编译为Emscripten?
发布于 2020-11-30 05:24:51
我遇到了一个类似的问题,我使用的一个库叫做pkg_check_modules(GSL gsl)。我能够通过提供cmake args来修复find_package(DoubleConversion REQUIRED)等问题
-DDoubleConversion_LIBRARY:FILEPATH=/home/myuser/code/double-conversion/libdouble-conversion.a -DDoubleConversion_INCLUDE_DIR:PATH=/home/myuser/code/double-conversion/double-conversion
到cmake调用,但当我尝试用GSL库做类似的事情时,定义了GSL_INCLUDE_DIR和GSL_LIBRARY,找不到它们,并且我得到了关于make调用中缺少头的错误。
我从PKG_CONFIG_USE_CMAKE_PREFIX_PATH的文档中认识到的是(理论上)如果我只使用一个arg -DCMAKE_PREFIX_PATH="${LIBS_DIR}/double-conversion;${LIBS_DIR}/gsl",那么我不应该找到库路径和每个库的包含路径,我也不需要关心包是使用find_package还是pkg_check_modules找到的。然而,它似乎不能替代我在DoubleConversion中使用的args,也不能提供一种告诉pkg_check_modules在哪里可以找到GSL库的方法。也许cmake在期望包含头文件和库的地方过于固执己见。
https://stackoverflow.com/questions/50743439
复制相似问题