我是一个 ARM 构建的初学者。 我想为 armel 平台构建此代码。 这是我的代码:
#include <boost/container/flat_map.hpp>
#include <boost/container/flat_set.hpp>
#include <nlohmann/json.hpp>
int main()
{
return 0;
}
我有一个Cmake文件:
cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
project(test CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++-10)
set(SRC_FILES test.cpp)
add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)
add_definitions(-DBOOST_ALL_NO_LIB)
add_definitions(-DBOOST_NO_RTTI)
add_definitions(-DBOOST_NO_TYPEID)
add_definitions(-DBOOST_ASIO_DISABLE_THREADS)
add_executable(${PROJECT_NAME} ${SRC_FILES})
我将nlohmann库安装到了:
/usr/local/include/nlohmann/json.hpp
在我生成make和make之后:
/home/test-machine/project-dir/test/test.cpp:3:10: fatal error: nlohmann/json.hpp: No such file or directory
3 | #include <nlohmann/json.hpp>
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/test.dir/build.make:82: CMakeFiles/test.dir/test.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:95: CMakeFiles/test.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
为什么会出现这个错误,请帮我解决!!!
/usr/local/include
作为包含目录。 - Alan Birtles/usr/lib/gcc-cross/arm-linux-gnueabi/10/../../../../arm-linux-gnueabi/bin/ld: CMakeFiles/power-control.dir/src/power-control.cpp.o: in function `sdbusplus::bus::bus::process_discard()': power-control.cpp:(.text._ZN9sdbusplus3bus3bus15process_discardEv[_ZN9sdbusplus3bus3bus15process_discardEv]+0x98): undefined reference to `sdbusplus::exception::SdBusError::SdBusError(int, char const*, sdbusplus::SdBusInterface*)
在执行make之后,我没有执行文件。 - Ivan Raih