2017-04-06 91 views
0

CMakeLists.txt文件“的目标不受该项目建成”是:CMake的错误:

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中,我得到了stucked。

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。

回答

1

add_executable定义了一个目标,但在你的代码中试图编译后确定的目标

只是改变这两条线的位置:

  • 首先定义目标

  • 链接库中。

这样

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

当任何CMake命令接受目标参数时,它预计给定目标为已创建

正确的用法:

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