Cmake编译添加.cpp vs仅包括标题

时间:2018-04-24 15:20:57

标签: c++ cmake

我目前正在尝试使用干净的子文件夹和小型CmakeLists.txt重新组织库。

如果我的文件包含名为" foo.h"的文件夹中的所有标题。并将此作为唯一源添加到库中,然后使用该库的另一个项目将引发未定义的引用错误。这有可能吗?

示例(失败):

cuda_add_library(foo foo.h)

cuda_add_executable(foo_test test.cpp)
target_link_libraries(foo_test
                          foo)

test.cpp :(。text + 0x25be):未定义引用`Graph :: Graph()'

foo.h只包含' #include" Graph.h"'

示例(工作):

cuda_add_library(foo foo.h Graph.cpp)

cuda_add_executable(foo_test test.cpp)
target_link_libraries(foo_test
                          foo)

感谢任何帮助。我也开放其他方式来干净地组织cmake文件,这样我只需要编辑" foo.h"每当我添加新文件时都会生成文件。这可能吗?

0 个答案:

没有答案