【发布时间】:2019-06-07 11:21:04
【问题描述】:
我知道这个问题已经被问过很多次了。我已经检查过它们,但我是 CMake 的新手。因此我无法弄清楚如何解决这个问题。
我的文件组织是这样的;
e0
|-CMakeLists.txt
|-grade.cpp
|-median.cpp
|-student_info.cpp
|-main.cpp
|-include
|-grade.h
|-median.h
|-student_info.h
我的 CMakeLists.txt 文件如下图。
cmake_minimum_required (VERSION 2.6)
project(E0)
set(SOURCE_FILES main.cpp)
include_directories(headers)
add_executable(E0 main.cpp)
target_link_libraries(E0 headers)
当我运行 make 时,我已经面对了
/usr/bin/ld: cannot find -lheaders
collect2: error: ld returned 1 exit status
CMakeFiles/E0.dir/build.make:94: recipe for target 'E0' failed make[2]: ***
[E0] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/E0.dir/all'
failed
make[1]: *** [CMakeFiles/E0.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
您能帮我吗,如何编写 CMakeLists.txt 文件?
【问题讨论】:
-
target_link_libraries只能用于链接到库(动态或静态)和其他 CMake 目标。只需删除该行。不过,您绝对应该将其他.cpp文件添加到您的add_executable语句中,以便实际编译代码。