CMake Error at CMakeLists.txt:54 (target_link_libraries): Cannot specify link libraries for target "test_demo" which is not built by this project.
时间: 2023-12-27 12:29:13 浏览: 460
这个错误提示意味着在 CMakeLists.txt 第 54 行尝试为一个未被此项目构建的目标 "test_demo" 指定链接库。可能的原因是 "test_demo" 并没有被正确地添加到项目中,或者目标名称被拼写错误。您可以检查一下您的 CMakeLists.txt 文件,确认是否正确地添加了 "test_demo",或者您可以尝试重新构建项目以确保目标已经正确地添加到项目中。
相关问题
CMake Error at CMakeLists.txt:11 (target_link_libraries): Cannot specify link libraries for target "your_target_name" which is not built by this project.
这个错误通常是由于在CMakeLists.txt文件中的target_link_libraries语句中指定了一个未被当前项目构建的目标名称所引起的。
请确保在target_link_libraries语句中指定的目标名称是当前项目中正确构建的目标之一。
以下是一个示例,展示了如何在CMakeLists.txt文件中设置目标和链接库:
```cmake
cmake_minimum_required(VERSION 3.0)
project(your_project_name)
# 添加可执行文件或库
add_executable(your_executable your_source_files.cpp)
# 链接库到可执行文件
target_link_libraries(your_executable your_library_name)
```
在这个示例中,项目使用add_executable命令添加了一个可执行文件your_executable,并使用target_link_libraries命令将your_library_name链接到your_executable。确保your_library_name是当前项目中正确构建的库目标。
请检查你的CMakeLists.txt文件,确保你在target_link_libraries语句中指定的目标名称是当前项目中正确构建的目标之一。
如果你在CMakeLists.txt文件中有多个子目录,也要确保在父级目录的CMakeLists.txt文件中通过add_subdirectory命令正确添加了子目录,并且在子目录的CMakeLists.txt文件中构建了正确的目标。
如果你仍然遇到问题,请提供更多关于你的CMakeLists.txt文件和项目结构的信息,以便我可以更好地帮助你解决问题。
CMake Error at CMakeLists.txt:50 (target_link_libraries): Cannot specify link libraries for target "DesensitiseJNI" which is not built by this project.
这个错误通常是因为在使用 target_link_libraries 命令时,指定了一个不存在的目标。在你的错误信息中,错误提示指出 "DesensitiseJNI" 这个目标不是通过当前项目构建的。
解决这个问题,你需要先确保 "DesensitiseJNI" 这个目标是通过当前项目构建的,如果不是,则需要先将该目标的构建加入到 CMakeLists.txt 文件中。如果 "DesensitiseJNI" 目标确实是由当前项目构建的,那么你需要检查一下 target_link_libraries 命令中是否有拼写错误或者其他的语法错误。
以下是一些可能有用的调试步骤:
1. 检查 CMakeLists.txt 文件中是否有构建 "DesensitiseJNI" 目标的命令,例如 add_library 或 add_executable。
2. 确认你使用的是正确的目标名称。你可以通过命令行输出或者 CMake 编译日志来确定目标名称是否正确。
3. 检查 target_link_libraries 命令是否正确指定了库文件或目标名称。如果有多个库文件或目标名称,需要使用空格或分号来分隔它们。
如果你需要更多的帮助,请提供更多的上下文信息,例如完整的 CMakeLists.txt 文件内容或者更详细的错误信息。
阅读全文