结合最近cmake的运用,对cmake的使用做简要总结。主要是关键词,编译思路的理解。
思路:
set(OpenCV_PATH ${PROJECT_SOURCE_DIR}/../3rdParty/opencv430)
set(OpenCV_INCLUDE_DIRS ${OpenCV_PATH}/include/opencv4
${OpenCV_PATH}/include/opencv4/opencv2)
set(OpenCV_LIBS ${OpenCV_PATH}/lib/libopencv_world.so)
include_directories(${OpenCV_INCLUDE_DIRS})
#最后表示把链接对应的头文件
set(EPCV_INCLUDES ${PROJECT_SOURCE_DIR}/../include
${PROJECT_SOURCE_DIR}/../include/common
${PROJECT_SOURCE_DIR}/../include/epcv_engine)
include_directories(${EPCV_INCLUDES})
#找到src文件
file(GLOB EPCV_TWO_DIM ${PROJECT_SOURCE_DIR}/../src/epcv_traffic_sign_classifier.cpp
${PROJECT_SOURCE_DIR}/../src/epcv_engine/epcv_traffic_sign_classifier_engine.cpp)
#根据src文件生成可执行文件
add_executable(demo_traffic_sign_classifier demo_traffic_sign_classifier.cpp ${EPCV_TWO_DIM} ${SAMPLES_COMMON_SOURCES_FILE})
#链接库文件
target_link_libraries(demo_traffic_sign_classifier ${OpenCV_LIBS} ${TRTLIBS} ${CUDA_LIBRARIES})
思路:
file(GLOB TRAFFIC_LIBS ${PROJECT_SOURCE_DIR}/../lib/*.so)
add_executable(demo_traffic_sign_classifier demo_traffic_sign_classifier.cpp ${SAMPLES_COMMON_SOURCES_FILE})
#链接库文件
target_link_libraries(demo_traffic_sign_classifier ${TRAFFIC_LIBS} ${OpenCV_LIBS} ${TRTLIBS} ${CUDA_LIBRARIES})
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
add_library(${LIB_NAME} SHARED ${SOURCE_FILES_TWO} ${SAMPLES_COMMON_SOURCES_FILE})
target_link_libraries(${LIB_NAME} ${OpenCV_LIBS} ${TRTLIBS} ${CUDA_LIBRARIES})
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。