高通 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})

 

posted @ 2025-07-04 14:01  牛博张  阅读(73)  评论(0)    收藏  举报