C++ 正在跳过不兼容的../tracker/libdeepsort.so当搜索-ldepsort时
我尝试使用CMake为aarch64设备创建一个共享库(.so文件),但是,CMake使用x86-64类型编译脚本。我需要的是ARM aarch64格式。如果有人知道,请帮帮我 我的cmake文件:C++ 正在跳过不兼容的../tracker/libdeepsort.so当搜索-ldepsort时,c++,linux,cmake,arm64,C++,Linux,Cmake,Arm64,我尝试使用CMake为aarch64设备创建一个共享库(.so文件),但是,CMake使用x86-64类型编译脚本。我需要的是ARM aarch64格式。如果有人知道,请帮帮我 我的cmake文件: PROJECT(deepsort) CMAKE_MINIMUM_REQUIRED(VERSION 2.8) cmake_policy(SET CMP0015 NEW) AUX_SOURCE_DIRECTORY(./errmsg DIR_SRCS_errmsg) AUX_SOURCE_DIRECTO
PROJECT(deepsort)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
cmake_policy(SET CMP0015 NEW)
AUX_SOURCE_DIRECTORY(./errmsg DIR_SRCS_errmsg)
AUX_SOURCE_DIRECTORY(./thirdPart DIR_SRCS_hungarianoper)
AUX_SOURCE_DIRECTORY(./thirdPart/munkres DIR_SRCS_munkres)
AUX_SOURCE_DIRECTORY(./thirdPart/munkres/adapters DIR_SRCS_munkres_adapters)
AUX_SOURCE_DIRECTORY(./matching DIR_SRCS_matching)
AUX_SOURCE_DIRECTORY(./feature DIR_SRCS_feature)
AUX_SOURCE_DIRECTORY(./common DIR_SRCS_common)
AUX_SOURCE_DIRECTORY(./api DIR_SRCS_api)
include_directories(
./errmsg
./thirdPart
./thirdPart/Eigen
./thirdPart/munkres
./thirdPart/munkres/adapters
./matching
./feature
./common
./api
)
add_library(deepsort SHARED
${DIR_SRCS_errmsg}
${DIR_SRCS_hungarianoper}
${DIR_SRCS_munkres}
${DIR_SRCS_munkres_adapters}
${DIR_SRCS_feature}
${DIR_SRCS_matching}
${DIR_SRCS_api}
)
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
我通过将cxx和c变量放在Cmakelists.txt文件中解决了这个问题:
set(tools /usr/bin)
set(CMAKE_C_COMPILER ${tools}/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${tools}/aarch64-linux-gnu-g++)
如果您想在不同的环境中编译,那么您必须下载链工具