考虑以下两个程序。
p1.cpp
#include <iostream>
struct test
{
void fun();
};
int main()
{
test t;
t.fun();
}
p2.cpp
#include <iostream>
void test::fun()
{
std::cout<<"fun() is called\n";
}
我正在编译如下。
g++ -c -o p1.o p1.cpp
g++ -c -o p2.o p2.cpp <--------- This gives me compiler error.
如何解决此错误?我做错了什么?
答案 0 :(得分:1)
基本上,您需要:
test.h
移至文件test.h 您可能需要考虑使用makefile来编译文件,并将-10
的依赖项添加到p1.cpp和p2.cpp,以便在修改test.h时重新编译这些文件。