【发布时间】:2019-06-25 14:57:05
【问题描述】:
我在互联网上对此进行了研究,但我要么不明白答案,要么之前的问题没有解决我的问题。
我有 3 个文件 A、B、C,其中 C 是可执行文件,A、B 只是我自己编写的一些库代码。 B 取决于 A。C 取决于 B 和 A。如何在 Cmake 中正确链接它们?我试过这个:
add_library(A A.c)
add_library(B B.c)
add_executable(C C.c)
target_link_libraries(B A)
target_link_libraries(C B A)
尽管我仍然收到“未定义对 xxx 的引用”错误。我真的不知道我做错了什么。
【问题讨论】:
-
如果不查看代码和具体错误,就无法说出可能是什么问题。
-
@SeanBurton 不幸的是,我无法显示代码,但错误就像我说的一样:在文件 B 中,它调用了文件 A 中定义的函数,我收到错误“未定义的引用构建时来自文件 B 的“xxx”。
-
问题似乎不是 CMake 的问题,因为当我将所有 3 个文件编译为目标文件并与 gcc 链接时,我仍然得到相同的错误。 ._.
标签: cmake