Cmake 错误:无法为目标指定链接库
Cmake error: Cannot specify link libraries for target
我正在尝试构建一个简单的CMake项目,但我在理解CMake或至少我得到的错误时遇到了问题。
我做的项目分为几个目录。 主要的有这个cmake:
cmake_minimum_required(VERSION 3.7.2)
project(Raytracer)
set(CMAKE_CXX_STANDARD 14)
add_subdirectory(src)
set(COMMON_INCLUDES ${PROJECT_SOURCE_DIR}/inc)
从那里我的项目分为 2 个文件夹 src 和 inc。 在 SRC 中,我有以下 cmake 的想法是全局所有子文件夹:
FILE(GLOB sub-dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *)
FOREACH(dir ${sub-dirs})
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${dir})
ADD_SUBDIRECTORY(${dir})
ENDIF()
ENDFOREACH()
add_executable(raytracer main.cpp)
我还在此主 src 文件夹中添加了可执行文件。 从那里开始,我希望能够使用自己的Cmake文件添加子文件夹,并将这些文件链接到我的可执行文件。 我有以下cmake:
set(OBJECTS
asdf.cpp
)
add_library(obj_files ${OBJECTS} ${COMMON_FILES})
target_link_libraries(raytracer obj_files)
但是当我尝试构建时,出现以下错误:
Cannot specify link libraries for target "raytracer" which is not built by this project.
基本上Cmake
文件中或toolchain.cmake
命令的顺序很重要!target_link_libraries()
或target_include_directories()
必须始终after add_executable()
相关文章:
- 在 CMake 中为每个目标设置编译器/链接器标志
- 无法为不是由该项目生成的目标指定链接库
- CMake无法确定目标的链接器语言:fileloader
- 为什么即使链接器找到目标文件,我的程序也看不到函数定义?
- Cmake 错误:无法为目标指定链接库
- 目标提升::<library>已经有导入的位置 + 链接错误
- CMAKE 目标链接打开 SSL 错误
- CMake 错误:无法确定目标的链接语言
- 模型依赖关系目标,在运行时链接
- 为什么内部链接的名称会出现在我的目标文件的符号表中?
- 无法为目标错误 CMakeList 指定链接库
- 链接器问题:目标不是 x86
- 链接 C 和C++目标文件
- 链接器命令 - 没有为第三方库设定目标的规则
- IOS 目标链接 cocoa 堆栈库,该库写入 C++11 标准错误
- CMake用户构建的库;无法为目标指定链接库
- 使用 c++/目标C++库时出现链接器错误
- Cmake 链接库目标链接错误
- 如何使用同一头文件编译和链接C++中的目标文件
- "Undefined reference to" 链接目标文件时出错