QiBuild / CMake не может найти BOOST_FILESYSTEM

Я пытаюсь собрать примеры C ++ из Aldebaran, такие как helloworld и sayhelloworld, но qiBuild постоянно говорит, что не может найти BOOST_FILESYSTEM. Boost установлен и работает, я тестировал его с некоторыми другими проектами в Visual Studio.

Это ошибка после запуска qibuild configure -c atom1145:

[WARN ]:  Nested worktrees detected:
d:\ald_sdk\naoqi-sdk-1.14.5-win32-vs2010\doc\examples is already in a worktree
(in d:\ald_sdk)

Current build worktree: d:\ald_sdk\naoqi-sdk-1.14.5-win32-vs2010\doc\examples
Using toolchain: atom1145
Build type: Debug
* (1/1) Configuring sayhelloworld
-- Using qibuild 3.7.1
-- Binary: sayhelloworld
CMake Error at D:/Programs/CMake/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find BOOST_FILESYSTEM (missing: BOOST_FILESYSTEM_LIBRARIES)
Call Stack (most recent call first):
D:/Programs/CMake/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
d:/Programs/Python27/share/cmake/qibuild/find.cmake:361 (find_package_handle_standard_args)
d:/Programs/Python27/share/cmake/qibuild/find.cmake:269 (_qi_call_fphsa)
d:/Programs/Python27/share/cmake/qibuild/modules/boostutils.cmake:39 (export_lib)
d:/Programs/Python27/share/cmake/qibuild/modules/boost_filesystem-config.cmake:9 (boost_flib)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:80 (find_package)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:94 (_qi_use_lib_get_deps)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:94 (_qi_use_lib_get_deps)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:94 (_qi_use_lib_get_deps)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:94 (_qi_use_lib_get_deps)
d:/Programs/Python27/share/cmake/qibuild/internal/uselib.cmake:158 (_qi_use_lib_get_deps)
d:/Programs/Python27/share/cmake/qibuild/stage.cmake:246 (_qi_use_lib_internal)
CMakeLists.txt:17 (qi_use_lib)-- Configuring incomplete, errors occurred!
See also "D:/ALD_SDK/naoqi-sdk-1.14.5-win32-vs2010/doc/examples/core/sayhelloworld/build-atom1145/CMakeFiles/CMakeOutput.log".
See also "D:/ALD_SDK/naoqi-sdk-1.14.5-win32-vs2010/doc/examples/core/sayhelloworld/build-atom1145/CMakeFiles/CMakeError.log".
[ERROR]:  ConfigureFailed Error occurred when configuring project sayhelloworld

После компиляции Boost я получил следующие пути:

The following directory should be added to compiler include paths:

D:/Programs/boost_1_57_0

The following directory should be added to linker library paths:

D:\Programs\boost_1_57_0\stage\lib

Это не стандартные пути, и я думаю, что это вызывает некоторые проблемы.

В CMakeCache.txt я обнаружил, что записи Boost были «очищены»:

//The directory containing a CMake configuration file for BOOST.
BOOST_DIR:PATH=d:/Programs/Python27/share/cmake/qibuild/modules

//The directory containing a CMake configuration file for BOOST_FILESYSTEM.
BOOST_FILESYSTEM_DIR:PATH=d:/Programs/Python27/share/cmake/qibuild/modules

//Cleared.
BOOST_FILESYSTEM_EXECUTABLE:STRING=

//Cleared.
BOOST_FILESYSTEM_EXECUTABLE_DEBUG:STRING=

//Cleared.
Boost_DEFINITIONS:STRING=

//Cleared.
Boost_EXECUTABLE:STRING=

//Cleared.
Boost_EXECUTABLE_DEBUG:STRING=

//Boost filesystem library (debug)
Boost_FILESYSTEM_LIBRARY_DEBUG:FILEPATH=Boost_FILESYSTEM_LIBRARY_DEBUG-NOTFOUND

//Boost filesystem library (release)
Boost_FILESYSTEM_LIBRARY_RELEASE:FILEPATH=Boost_FILESYSTEM_LIBRARY_RELEASE-NOTFOUND

//Path to a file.
Boost_INCLUDE_DIR:PATH=D:/ALD_SDK/naoqi-sdk-1.14.5-win32-vs2010/include

//Cleared.
Boost_INCLUDE_DIRS:STRING=

//Cleared.
Boost_LIBRARIES:STRING=

Я пытался добавить некоторые переменные в CMakeLists.txt, как это, но это не помогло:

set(Boost_DEBUG true)
set(BOOST_ROOT "D:/Programs/boost_1_57_0")
set(BOOST_INCLUDEDIR "D:/Programs/boost_1_57_0/boost")
set(BOOST_LIBRARYDIR "D:/Programs/boost_1_57_0/stage/lib")

Любая помощь могла бы быть полезна!

0

Решение

Это было решение от поддержки Aldebaran:

Кажется, есть некоторая несовместимость между NAOqi 1.14.5 C ++ SDK для Windows и последней версией qibuild.

Со своей стороны, я протестировал последнюю версию qibuild, и она выдала мне ту же ошибку, что и ваша.

Я позволю нашей команде сейчас обновить документацию.
В то же время я могу предложить вам обходной путь, то есть удалить Qibuild с помощью
pip uninstall qibuild и переустановите версию, которая работает с NAOqi 1.14.5 C ++ SDK для Windows

pip install qibuild==3.5.1

Этот должен работать.

0

Другие решения


По вопросам рекламы [email protected]