各个不同的编译器使用的opencv库也不相同 cmake需要处理

This commit is contained in:
modehua 2023-12-14 16:00:20 +08:00
parent a671a58793
commit d2b1eff8cd
1 changed files with 47 additions and 2 deletions

View File

@ -26,9 +26,9 @@ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_core.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
#${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a
#${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a
@ -51,6 +51,50 @@ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
endif()
#
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
add_definitions(-Dx86_64="x86_64")
target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
#message("静态库预留01")
#message("静态库预留02")
)
message("cpu is x86_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a #uos kylin
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is arm64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is mips64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is loongarch64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is sw_64")
else()
message(FATAL_ERROR "not find cpu and exit cmake ...")
endif()
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath=.)
@ -59,6 +103,7 @@ endif()
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../../../sdk/include
${PROJECT_SOURCE_DIR}/../../../../sdk/include/opencv
${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/tiff/include/
)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../lib)