CMake错误:'目标未由此项目构建'

13

我的 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工作。

2个回答

22

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

只需更改这两行的位置:

  • 首先定义目标

  • 然后链接库。

像这样

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

11

当任何 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})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接