pkg-config nicht finden-Paket unter sysroot Verzeichnis
Kann jemand mir bitte sagen, warum dies scheitern könnte:
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
Laut der man-page von pkg-config, /usr/local/lib/pkgconfig
soll ein von den Standard-Suchpfaden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Antwort hier: http://www.flameeyes.eu/autotools-mythbuster/pkgconfig/cross-compiling.html
Den daraus resultierenden CMake-Datei wäre so etwas wie dieses:
Disclaimer: ich habe die
CMAKE_SYSROOT
diese variable ist nützlich, wenn Sie übergeben möchten-sysroot
zug++
. Wenn Sie dies nicht möchten, sollten Sie den Namen Ihrer Variablen anders.Wenn Sie einen cross-compiler, dann müssen Sie 1) installieren Sie die entsprechenden pkg-config-wrapper und 2) legen Sie die entsprechenden Umgebungsvariablen abgeholt werden durch den wrapper. Sie finden die entsprechende wrapper mit
apt-cache search pkg-config-
und dann installieren. E. g. wenn Sie cross-kompilieren zu armhf:sudo apt-get install pkg-config-arm-linux-gnueabihf
. Dann, setzen von Umgebungsvariablen PKG_CONFIG_DIR, PKG_CONFIG_LIBDIR, und PKG_CONFIG_SYSROOT_DIR, wie erforderlich, vor dem Aufruf der wrapper.Wenn Sie cross-kompilieren mit CMake, beachten Sie, dass CMake die
pkg_search_module
Befehl (zur Verfügung gestellt von FindPkgConfig.cmake) erscheint nicht korrekt einrichten der Umgebung für den wrapper. Vielmehr sollten Sie die PKG_CONFIG_PATH environment variable.Siehe auch set PKG_CONFIG_PATH in cmake