【发布时间】:2020-05-08 14:41:25
【问题描述】:
CMake 有一个令人讨厌的默认值(我想,我的 CMake 配置中没有任何神奇之处,但我可能是错的,因为我对 CMake 知之甚少)当您将目标添加到项目时,他会默默地忽略该行为,即使那目标不存在,例如:
项目(堆栈溢出)
// 另一个 CMakeLists.txt
项目(东西)
target_link_libraries(东西 PUBLIC StackOverlow )
有没有办法强制 CMake 检查您在 target_link_libraries 中链接的所有项目是否必须存在?
【问题讨论】:
-
您的示例中不存在的目标是什么?您的示例中
target_link_libraries()的语法不正确。具体来说,第一个参数必须是一个现有的目标,否则你会收到一个错误。您还没有创建目标StackOverflow。 -
@squareskittles 对不起,我把我真正的 CMakeLists.txt 减少了太多,谢谢你的错误报告 :)
标签: c++ cmake target-link-libraries