cmake_minimum_required(VERSION 2.8)
set(project_name project)
project(${project_name})
set(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")
SET(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows")
set(OpenCV_DIR D:/software/opencv-3.4.9-code/opencv-3.4.9/build)
#find_package(OpenCV 3 REQUIRED)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_subdirectory(win32) # /build下也会加这个目录
include_directories(win32)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
FILE(GLOB COMMON_LIBS "${PROJECT_SOURCE_DIR}/lib/Debug/*.lib")
elseif (CMAKE_BUILD_TYPE MATCHES "Release")
FILE(GLOB COMMON_LIBS "${PROJECT_SOURCE_DIR}/lib/Release/*.lib")
endif()
#FILE(GLOB BASE_LIBS "${PROJECT_SOURCE_DIR}/lib/*.lib")
FILE(GLOB HEADERS "${PROJECT_SOURCE_DIR}/win32/*.h")
message("COMMON_LIBS= ${COMMON_LIBS}")
#message("BASE_LIBS=${BASE_LIBS}")
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
# ��Ӧvisual studio��AdditionalLibraryDirectories
#.r.t https://stackoverflow.com/questions/33253664/cmake-set-visualstudion2010-parameters-additional-library-directories
#link_directories(${PROJECT_SOURCE_DIR}/lib)
#link_directories(D:/code/test_01/cmake_lds_common/lib/Release)
message("OpenCV_LIBS=${OpenCV_LIBS}")
# 显示引用头文件 https://zhuanlan.zhihu.com/p/661282636
#add_executable (${project_name} src/project.cpp ${HEADERS})
add_executable (${project_name} src/project.cpp)
target_link_libraries(${project_name}
${PROJECT_SOURCE_DIR}/win32/xx1.lib
${PROJECT_SOURCE_DIR}/win32/xx2.lib
${PROJECT_SOURCE_DIR}/win32/xx3.lib
${PROJECT_SOURCE_DIR}/win32/xx4.lib
${OpenCV_LIBS}
)
# 加了#pragma comment 仍然 无法解析的外部符号 # 可能是版本不对,vs2017用了vs2017之前的版本
# r.t. https://stackoverflow.com/questions/51671022/unresolved-external-symbol-errors-without-pragma-comment-lib-command