C++ g++;编译错误(架构x86_64的未定义符号)

C++ g++;编译错误(架构x86_64的未定义符号),c++,C++,当我用g++-4.9编译代码时 g++ main.cpp base_server.cpp base_server.hpp threaded_server.cpp threaded_server.hpp 我得到一个错误: Undefined symbols for architecture x86_64: "BaseServer::~BaseServer()", referenced from: ThreadedServer::~ThreadedServer() in ccQVI

当我用g++-4.9编译代码时

g++ main.cpp base_server.cpp base_server.hpp threaded_server.cpp threaded_server.hpp
我得到一个错误:

Undefined symbols for architecture x86_64:
  "BaseServer::~BaseServer()", referenced from:
      ThreadedServer::~ThreadedServer() in ccQVIp8S.o
      ThreadedServer::~ThreadedServer() in ccQVIp8S.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
当我用clang++编译时,没有任何错误和警告。如何用g++编译它

base_server.hpp:

base_server.cpp:

线程化_server.hpp:

线程化_server.cpp:


OS X 10.11.1

BaseServer::~BaseServer()
内联的
。如果没有
inline
,所有操作都正常。

可能与您的问题无关,但您不能直接编译头文件。将
*.hpp
从args删除到
g++