zoukankan      html  css  js  c++  java
  • windows CMakeLists.txt

    在windows下写好CMakeLists.txt,然后配合cmake-gui使用。

    CMakeLists.txt写的不够好,后期优化,以下仅供参考:

     1 # set(OpenCV_DIR D:/Program Files/opencv3.4.6/opencv/build/include/)
     2 find_package(OpenCV 3.4.6 REQUIRED)
     3 
     4 # If the package has been found, several variables will
     5 # be set, you can find the full list with descriptions
     6 # in the OpenCVConfig.cmake file.
     7 # Print some message showing some of them
     8 message(STATUS "OpenCV library status:")
     9 message(STATUS "    version: ${OpenCV_VERSION}")
    10 message(STATUS "    libraries: ${OpenCV_LIBS}")
    11 message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
    12 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
    13 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
    14 set(LINK_DIR D:/windows/x64/Release/)
    15 # Add OpenCV headers location to your include paths
    16 include_directories(${OpenCV_INCLUDE_DIRS})
    17 
    18 # Declare the executable target built from your sources
    19 
    20 aux_source_directory(. DIR_SRCS)
    21 add_executable(main ${DIR_SRCS})
    22 
    23 # Link your application with OpenCV libraries
    24 # link_libraries("D:/windows/x64/Release")
    25 LINK_DIRECTORIES(${LINK_DIR}) #链接静态库目录
    26 target_link_libraries(main ${OpenCV_LIBS} ${LINK_DIR}/idcard.lib)

    由于依赖opencv静态库,opencv又没有设置为环境变量,cmake直接找依赖opencv时总是会找到Anaconda里面的opencv,此时需要把opencv路径指定到你编译opencv静态库的路径:

    也可以将CMakeLists.txt写成下面的形式,这样就可以自己在cmake-gui里面自己配置需要链接的静态库路径:

     1 # cmake needs this line
     2 cmake_minimum_required(VERSION 2.8)
     3 
     4 # Define project name
     5 project(DLCropTest)
     6 
     7 # Find OpenCV, you may need to set OpenCV_DIR variable
     8 # to the absolute path to the directory containing OpenCVConfig.cmake file
     9 # via the command line or GUI
    10 # set(OpenCV_DIR D:/Program Files/opencv3.4.6/opencv/build/include/)
    11 find_package(OpenCV REQUIRED)
    12 find_library(LINK_DIR REQUIRED)
    13 # If the package has been found, several variables will
    14 # be set, you can find the full list with descriptions
    15 # in the OpenCVConfig.cmake file.
    16 # Print some message showing some of them
    17 message(STATUS "OpenCV library status:")
    18 message(STATUS "    version: ${OpenCV_VERSION}")
    19 message(STATUS "    libraries: ${OpenCV_LIBS}")
    20 message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
    21 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
    22 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
    23 # set(LINK_DIR D:/windows/x64/Release/)
    24 # Add OpenCV headers location to your include paths
    25 include_directories(${OpenCV_INCLUDE_DIRS})
    26 
    27 # Declare the executable target built from your sources
    28 
    29 aux_source_directory(. DIR_SRCS)
    30 add_executable(main ${DIR_SRCS})
    31 
    32 # Link your application with OpenCV libraries
    33 # link_libraries("D:/windows/x64/Release")
    34 LINK_DIRECTORIES(${LINK_DIR}) #链接静态库目录
    35 target_link_libraries(main ${OpenCV_LIBS} ${LINK_DIR}/*.lib)

    cmake-gui对应位置如下图:

  • 相关阅读:
    struts2 委托spring代理action<转>
    Ajax中的时间戳应用<转>
    ajax的json传值方式
    单例HashTable例子
    eclipse修改vm页面JavaScript代码颜色
    Ajax表单异步提交及验证
    xml解析
    sql server 添加语句中,VALUES值需要从数据库中查询出来
    SQL substring、replace函数
    使用SQL语句操作数据库
  • 原文地址:https://www.cnblogs.com/juluwangshier/p/11841378.html
Copyright © 2011-2022 走看看