“。cpp”文件在项目包含路径中不会被项目看到
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“。cpp”文件在项目包含路径中不会被项目看到相关的知识,希望对你有一定的参考价值。
说我有一个简单的项目Test。这是CMakeLists.txt:
project(Test)
set(CMAKE_CXX_STANDARD 11)
include_directories(path/to/somewhere)
add_executable(Test main.cpp)
现在,在包含目录中,我有A.h
和A.cpp
。每当我编译时,总是得到对A.h
中声明的函数的定义的未定义引用。很明显,该项目根本没有看到A.cpp
。
请让我知道如何使它工作?考虑到我宁愿不执行add_executable(Test main.cpp A.cpp)
,因为我认为A
应该是单独的事情,而不是直接集成到可执行文件中。我唯一的选择是将A
构建为.so
吗?我可以以某种方式修改cmake来构建库吗?
答案
项目包含路径中的文件“ .cpp”文件不会被项目看到
您的问题与项目“所见”无关。问题是您无法与翻译单元链接。
我唯一的选择是将A放入a.so吗?
不,您不需要建立共享库。您可以改为使用静态或“对象”库。
或者您可以在add_executable指令中列出源文件。
以上是关于“。cpp”文件在项目包含路径中不会被项目看到的主要内容,如果未能解决你的问题,请参考以下文章