【问题标题】:CMake error: 'target is not built by this project'CMake 错误:“目标不是由该项目构建的”
【发布时间】:2017-08-31 21:47:55
【问题描述】:

我的CMakeLists.txt 文件是:

cmake_minimum_required(VERSION 3.7)
project(OpenCV_Basics)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_LIBS})
target_link_libraries(OpenCV_Basics )

add_executable(OpenCV_Basics ${SOURCE_FILES})

当我尝试编译 main.cpp 时,我卡住了。

CMake Error at CMakeLists.txt:10 (target_link_libraries):
  Cannot specify link libraries for target "OpenCV_Basics" which is not 
built
  by this project.

怎么了?

我在 Mac 上的 Clion 工作。

【问题讨论】:

    标签: c++ opencv cmake clion


    【解决方案1】:

    add_executable 定义了一个目标,但是在您的代码中尝试编译它之后定义了一个目标。

    只需改变这两行的位置:

    • 先定义目标

    • 链接库。

    喜欢这个

    add_executable(OpenCV_Basics ${SOURCE_FILES})
    target_link_libraries(OpenCV_Basics )
    

    【讨论】:

      【解决方案2】:

      当任何 CMake 命令接受 target 参数时,它期望给定的目标已经创建

      正确用法:

      # Create target 'OpenCV_Basics' 
      add_executable(OpenCV_Basics ${SOURCE_FILES})
      # Pass the target to other commands
      target_link_libraries(OpenCV_Basics ${OpenCV_LIBRARIES})
      

      【讨论】:

        猜你喜欢
        • 2016-08-02
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        • 2019-02-03
        • 2023-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多