我有这个非常简单的C ++代码,无法编译。我做错了什么?
的main.cpp
#include "thing.hpp"
int main() {
thing* t = new thing;
t->foo();
delete t;
return 0;
}
thing.cpp
#include "thing.hpp"
void thing::foo() {};
thing.hpp
#ifndef THING_H
#define THING_H
class thing {
public:
void foo();
};
#endif
我使用以下命令编译:
g++ main.cpp -o main
这是我的输出:
架构x86_64的未定义符号: “thing :: foo()”,引自: _main in main-29d9b1.o ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
所有文件都在同一目录中。我在OS X 10.11.6上使用Apple LLVM版本8.0.0(clang-800.0.42.1)。提前谢谢!
答案 0 :(得分:-2)