And*_*der 2 pkg-config spidermonkey cross-compiling
任何人都可以告诉我为什么这可能会失败:
afeder@ubuntu:~/android/toolchain/sysroot$ ls $PKG_CONFIG_SYSROOT_DIR/usr/local/lib/pkgconfig/mozjs185.pc
/home/afeder/android/toolchain/sysroot/usr/local/lib/pkgconfig/mozjs185.pc
afeder@ubuntu:~/android/toolchain/sysroot$ pkg-config mozjs185 --cflags
Package mozjs185 was not found in the pkg-config search path.
Perhaps you should add the directory containing `mozjs185.pc'
to the PKG_CONFIG_PATH environment variable
No package 'mozjs185' found
Run Code Online (Sandbox Code Playgroud)
根据pkg-config的手册页,/usr/local/lib/pkgconfig应该是默认搜索路径之一.
And*_*der 13
我在这里找到答案:http://www.flameeyes.eu/autotools-mythbuster/pkgconfig/cross-compiling.html
包装器脚本不仅应该设置PKG_CONFIG_SYSROOT_DIR变量:在交叉编译时,您要忽略系统中安装的软件包,而只依赖于交叉编译环境中安装的软件包.这是通过重置PKG_CONFIG_DIR(列出其他搜索路径)来实现的,同时设置PKG_CONFIG_LIBDIR以覆盖默认的基本搜索路径.
生成的CMake文件将是这样的:
set(CMAKE_SYSROOT "/path/to/sysroot")
set(ENV{PKG_CONFIG_DIR} "")
set(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_SYSROOT}/usr/lib/pkgconfig:${CMAKE_SYSROOT}/usr/share/pkgconfig")
set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
Run Code Online (Sandbox Code Playgroud)
免责声明:我使用的CMAKE_SYSROOT变量,当你想通过这是有用-sysroot到g++.如果您不想这样,您应该以不同的方式命名您的变量.
| 归档时间: |
|
| 查看次数: |
7824 次 |
| 最近记录: |