2
我發現了android_cmake和boost的奇怪行爲。我使用android_cmake發現提示包括錯誤
cmake ../ -DCMAKE_TOOLCHAIN_FILE=/opt/android/android-cmake/android.toolchain.cmake -DBOOST_ROOT=/opt/android/android-cmake/common-libs/boost -DBOOST_INCLUDEDIR=/opt/android/android-cmake/common-libs/boost/boost-trunk/boost -DBOOST_LIBRARYDIR=/opt/android/android-cmake/common-libs/boost/libs/armeabi-v7a -DBoost_DEBUG=1
,你可以看到所有3個升壓變量BOOST_ROOT,BOOST_INCLUDEDIR和BOOST_LIBRARYDIR設置運行cmake。 boost可以通過「find_host_package」函數找到。下面是輸出的一部分:
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:646 ] BOOST_ROOT = /opt/android/android-cmake/common-libs/boost
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:648 ] BOOST_INCLUDEDIR = /opt/android/android-cmake/common-libs/boost/boost-trunk/boost
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:650 ] BOOST_LIBRARYDIR = /opt/android/android-cmake/common-libs/boost/libs/armeabi-v7a
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:705 ] Include debugging info:
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:707 ] _boost_INCLUDE_SEARCH_DIRS = /opt/android/android-cmake/common-libs/boost/boost-trunk/boost;/opt/android/android-cmake/common-libs/boost/include;/opt/android/android-cmake/common-libs/boost;C:/boost/include;C:/boost;/boost/include;/boost;/sw/local/include
-- [ /opt/sw/cmake-2.8.10.2/share/cmake-2.8/Modules/FindBoost.cmake:734 ] location of version.hpp: /usr/local/include/boost/version.hpp
,你可以看到,從升壓組位置採取version.hpp,而是來自
/usr/local/include/boost/version.hpp
即使我指定的位置確實包含版本。 hpp:
/opt/android/android-cmake/common-libs/boost/boost-trunk/boost/version.hpp
現在我不能確定發生了什麼事,並在哪裏cmake需要提升..任何建議?
它迫使CMake的爲以下消息:找不到升壓,無法找到提升的頭文件,請將BOOST_ROOT,包括等即使他們是專門設置和出現在調試輸出...可笑。 – etwas77
它可能是它發現它不指望的版本。它期望的版本可能會在android.toolchain.cmake場景中。嘗試更改cmake文件並設置'Boost_ADDITIONAL_VERSIONS'以包含您的系統版本。 – mockinterface
我添加了-DBoost_ADDITIONAL_VERSIONS = 1.55(與NO_SYSTEM_PATHS = ON一起),仍然有同樣的效果:找不到提升。無論如何,即使沒有提及的密鑰,也會在_boost_TEST_VERSIONS中找到版本1.55。如果我刪除NO_SYSTEM(但添加額外的),然後升壓採取/ usr /本地/包括/升壓/目錄爲默認.. – etwas77