CMake FindThreads.cmake nicht finden, meine pthreads.h-header

Ich bin mit android-cmake zu kompilieren einer Anwendung für Android. Dies ist im wesentlichen erstellt ein CMake-toolchain-Datei für die Verwendung der toolchain mit Android NDK.

Als mit in diesem Zusammenhang Frage, ich habe Probleme mit der folgenden Zeile in meiner CMakeLists.txt Datei:

find_package(Threads REQUIRED)

Die header-Datei befindet sich bei

~/Android/android-ndk-r7/platforms/android-8/arch-arm/usr/include/pthread.h

Die Bibliothek-Datei befindet sich bei

~/Android/android-ndk-r7/platforms/android-8/arch-arm/usr/lib/libthread_db.so

Das problem ist, dass FindThreads.cmake ruft CHECK_INCLUDE_FILES("pthread.h", CMAKE_HAVE_PTHREAD_H) - und dies scheint sich nicht die Mühe zu prüfen, die in diesem Verzeichnis.

Laut CMake ist Nützlich, Variablen wiki-Seite CMAKE_INCLUDE_PATH ermöglicht die Einstellung header search path, CMAKE_LIBRARY_PATH ermöglicht die Einstellung des library-Suchpfad, und CMAKE_PREFIX_PATH scheint sowohl für find_package.

Jedoch, trotz ob ich das setzen von Umgebungsvariablen vor dem ausführen von cmake...

export CMAKE_INCLUDE_PATH=~/Android/android-ndk-r7/platforms/android-8/arch-arm/usr:~/Android/android-ndk-r7/platforms/android-8/arch-arm/usr/include

... oder ob ich Sie direkt in CMakeLists.txt...

if(ANDROID)
    set(CMAKE_INCLUDE_PATH
        ${ANDROID_NDK_SYSROOT}/usr
        ${ANDROID_NDK_SYSROOT}/usr/include
        ${CMAKE_INCLUDE_PATH}
    )

    set(CMAKE_LIBRARY_PATH
        ${ANDROID_NDK_SYSROOT}/usr
        ${ANDROID_NDK_SYSROOT}/usr/lib
        ${CMAKE_LIBRARY_PATH})

    set(CMAKE_PREFIX_PATH
        ${ANDROID_NDK_SYSROOT}
        ${CMAKE_PREFIX_PATH})

    message(${ANDROID_NDK_SYSROOT})
    message(${CMAKE_INCLUDE_PATH})

endif()

find_package(Threads REQUIRED)

... (und dieser nicht ausgeführt wird, die Nachrichten, die gedruckt werden), und wo ${ANDROID_NDK_SYSROOT} enthält

/Users/martin/Android/android-ndk-r7/platforms/android-8/arch-arm

Ich bekomme die Meldung immer noch

Konnte NICHT finden Threads (es fehlen: Threads_FOUND)

Hat jemand irgendwelche Vorschläge, was ich falsch mache?

InformationsquelleAutor Martin Foot | 2011-12-05
Schreibe einen Kommentar