高通 qnx710 交叉编译 asio 代码的 cmake 配置
build.sh
cmake -DTEST_MODE=${TEST_MODE} \ -DCMAKE_BUILD_TYPE=${RELEASE_MODE} \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ -DWITH_SANITIZER=${WITH_SANITIZER} \ -DCOMPILE_STRIP=${COMPILE_STRIP} \ -DGEN_PKG_TOOL=${GEN_PKG_TOOL} \ -DCMAKE_TOOLCHAIN_FILE=${UCM_CMAKE_PREPATH} \ -DPROJECT_NAME=${PROJECT_NAME} \ ../ make -j $(nproc) make install
qnx-system-sdk.cmake
set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET}) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_C_COMPILER "$ENV{QNX_HOST}/usr/bin/ntoaarch64-gcc") set(CMAKE_CXX_COMPILER "$ENV{QNX_HOST}/usr/bin/ntoaarch64-g++") set(CMAKE_STRIP "$ENV{QNX_HOST}/usr/bin/ntoaarch64-strip") set(CMAKE_LD "$ENV{QNX_HOST}/usr/bin/ntoaarch64-ld") set(CMAKE_LINKER "$ENV{QNX_HOST}/usr/bin/ntoaarch64-ld") set(CMAKE_AR "$ENV{QNX_HOST}/usr/bin/ntoaarch64-ar") set(CMAKE_AS "$ENV{QNX_HOST}/usr/bin/ntoaarch64-as") set(CMAKE_NM "$ENV{QNX_HOST}/usr/bin/ntoaarch64-nm") set(CMAKE_SYSTEM_NAME "QNX") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L $ENV{QNX_TARGET}/ntoaarch64/io-sock/lib -Wl,-rpath-link=$ENV{QNX_TARGET}/ntoaarch64/io-sokc/lib -s -O2 -fpie -pie -fstack-protector-all -D_QNX_SOURCE -D_QNX_") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -fpermissive -L $ENV{QNX_TARGET}/ntoaarch64/io-sock/lib -Wl,-rpath-link=$ENV{QNX_TARGET}/ntoaarch64/io-sock/lib -s -O2 -fpie -pie -fstack-protector-all -D_QNX_SOURCE -D_QNX_")
CMakeList.txt
add_definitions(-DASIO_HAS_PTHREADS=1)
# 4.Include/Lib Path set(SDK_LIB_PATH "$ENV{QNX_TARGET}/aarch64le/lib") set(SDK_IOSOCK_PATH "$ENV{QNX_TARGET}/aarch64le/io-sock/lib") link_directories( ${SDK_IOSOCK_PATH} ${SDK_LIB_PATH})
include_directories($ENV{QNX_TARGET}/usr/include/io-sock)
include_directories(${ASIO_DIR})

浙公网安备 33010602011771号