概述
编译项目时使用 CMake,当编译复杂时也容易出错,因此记录下以便后续参考:
项目 quic 基本情况:
quic 依赖 boringssl 的 ssl、crypto 等,因此在 quic 的 CMakeLists.txt 中添加:
add_subdirectory( relative/path/to/boringssl )
add_library(
...
$<TARGET_OBJECTS:ssl>
$<TARGET_OBJECTS:crypto>
...
)
编译时出现如下错误,
CMake Error at CMakeLists.txt:925 (add_library):
Error evaluating generator expression:
$<TARGET_OBJECTS:ssl>
Objects of target "ssl" referenced but is not an OBJECT library.
CMake Error at CMakeLists.txt:925 (add_library):
No SOURCES given to target: quic
原因在于 boringssl 的 ssl 和 crypto 的 CMakeLists.txt 中在生成 ssl 库、crypto 库时未添加关键字 OBJECT。即在它们的 CMakeLists.txt 的 add_library 中增加 OBJECT 即可,也就是:
# 原来
add_library(
ssl
...
)
# 修改后
add_library(
ssl
OBJECT
...
)
最后
以上就是谨慎香氛为你收集整理的CMake 编译项目时提示找不到依赖项的全部内容,希望文章能够帮你解决CMake 编译项目时提示找不到依赖项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复