【发布时间】:2014-02-07 10:43:02
【问题描述】:
我发现了 android_cmake 和 boost 的奇怪行为。我开始使用 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 均已设置。提升是通过“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
如你所见,boost 不是从设置的位置获取 version.hpp,而是从
/usr/local/include/boost/version.hpp
即使我指定的位置确实包含 version.hpp:
/opt/android/android-cmake/common-libs/boost/boost-trunk/boost/version.hpp
现在我无法确定发生了什么以及 cmake 在哪里得到了提升.. 有什么建议吗?
【问题讨论】: