这是在我的系统目录中的内容:如何在子目录中使用.cpp和.h文件?
/directory/
classes/
class1.cpp
class1.h
main.cpp
这里是上述文件的内容:
的main.cpp
#include "classes/class1.h"
int main(){
class1 test;
return 0;
}
class1.h
class class1 {
public:
class1();
void test();
};
class1.cpp
#include "class1.h"
class1::class1(){
}
class1::test(){
}
问题是为什么我无法编译main.cpp
?
[email protected]:~/Desktop/directory$ g++ *.cpp
/tmp/ccEvIogL.o: In function `main':
main.cpp:(.text+0x1f): undefined reference to `class1::class1()'
collect2: error: ld returned 1 exit status
是不是反正有动力G ++搜索所有的'cpp'文件的子目录? – Abraham
@Abraham不是GCC编号。如果你使用Makefile,那么它是可能的,但我仍然建议你明确列出源文件。想想未来,你可能在根目录中有多个项目,每个项目都是一个单独的程序。只是盲目地获取所有子目录中的所有源文件将导致问题。 –
@Abraham使用SCons或CMake等构建系统。 –