title: Apache thrift undefined reference to apache::thrift::server::TNonblockingServer
body: <p>I'm trying to compile a piece of code that creates a TNonblockingServer and I get the following compile error. Any idea what's wrong? </p>
  
  <pre><code>something_server.cpp:(.text+0x1ad): undefined reference to `apache::thrift::server::TNonblockingServer::serve()'
  something_server.cpp:(.text+0x1c1): undefined reference to `apache::thrift::server::TNonblockingServer::~TNonblockingServer()'
  something_server.cpp:(.text+0x280): undefined reference to `apache::thrift::server::TNonblockingServer::~TNonblockingServer()'
  </code></pre>
  
  <p>I performed the steps outlined here while installing thrift. 
  <a href="http://thrift.apache.org/docs/install/os_x/" rel="noreferrer">http://thrift.apache.org/docs/install/os_x/</a></p>
  
  <p>Here's my makefile</p>
  
  <pre><code>GEN_SRC := Something.cpp something_constants.cpp something_types.cpp
  GEN_OBJ := $(patsubst %.cpp,%.o, $(GEN_SRC))
  
  THRIFT_DIR := /usr/local/include/thrift
  BOOST_DIR := /usr/local/include
  
  INC := -I$(THRIFT_DIR) -I$(BOOST_DIR)
  
  .PHONY: all clean
  
  all: something_server something_client
  
  %.o: %.cpp 
      $(CXX) -Wall -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H $(INC) -c $&lt; -o $@ 
  
  something_server: something_server.o $(GEN_OBJ)
      $(CXX) $^ -o $@ -L/usr/local/lib -lthrift 
  
  something_client: something_client.o $(GEN_OBJ)
      $(CXX) $^ -o $@ -L/usr/local/lib -lthrift 
  
  clean: 
      $(RM) *.o something_server something_client
  </code></pre>