C++ Linux上raspberry pi 3与boost的交叉编译错误
我有一个树莓皮3模型b,我想交叉编译我的应用程序,所以我不会离开我的电脑上所有的时间。不管怎样,当我运行C++ Linux上raspberry pi 3与boost的交叉编译错误,c++,linux,boost,cmake,raspberry-pi,C++,Linux,Boost,Cmake,Raspberry Pi,我有一个树莓皮3模型b,我想交叉编译我的应用程序,所以我不会离开我的电脑上所有的时间。不管怎样,当我运行cmake。。 -DCMAKE_toolschain_FILE=/home/sean/Code/toolschains/cmake files/raspberry pi/toolschain-raspberry pi.cmake: Make Error at /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package):
cmake。。 -DCMAKE_toolschain_FILE=/home/sean/Code/toolschains/cmake files/raspberry pi/toolschain-raspberry pi.cmake
:我的交叉编译器cmake文件(工具链Raspberry pi.cmake):Make Error at /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package): Found package configuration file: /usr/lib/cmake/boost_system-1.71.0/boost_system-config.cmake but it set boost_system_FOUND to FALSE so package "boost_system" is considered to be NOT FOUND. Reason given by package: No suitable build variant has been found. The following variants have been tried and rejected: * libboost_system.so.1.71.0 (64 bit, need 32) * libboost_system.a (64 bit, need 32) Call Stack (most recent call first): /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component) /usr/share/cmake-3.15/Modules/FindBoost.cmake:443 (find_package) CMakeLists.txt:17 (find_package) -- Configuring incomplete, errors occurred!
我确实从AUR及其/usr/lib32中安装了lib32 boost libs,但它似乎并不关心这些问题。错误告诉您找到了64位库版本,但没有找到32位版本。如果32位版本位于某些非标准目录(如)中,则不会自动找到它们。你需要告诉CMake在哪里寻找它们;根据CMake文档,在搜索BOOST之前设置/usr/lib32
变量可能会有所帮助。BOOST\u LIBRARYDIR
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_C_COMPILER $ENV{HOME}/Code/toolchains/crosscompile-raspberrypi/bin/arm-unknown-linux-androideabi-gcc) set(CMAKE_CXX_COMPILER $ENV{HOME}/Code/toolchains/crosscompile-raspberrypi/bin/arm-unknown-linux-androideabi-g++) set(CMAKE_FIND_ROOT_PATH $ENV{HOME}/Code/toolchains/crosscompile-raspberrypi/) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)