1

I've been trying to get the boost library into the C++ program I'm making in XCode 6.0 and the instructions I've been following are these ones. The library I need is filesystem and I'm aware that I need to build that one separately. But I'm a little confused as to what that means. I downloaded boost_1_57_0.tar.bz2, unpacked it and followed the instructions in 5.1. Then I set the Header Search Paths in XCode to the path of boost_1_57_0, added #include <boost/filesystem.hpp> to my program and tried to compile. The error I got was

**

Undefined symbols for architecture x86_64:
  "boost::system::system_category()", referenced from:
      ___cxx_global_var_init2 in main.o
  "boost::system::generic_category()", referenced from:
      ___cxx_global_var_init in main.o
      ___cxx_global_var_init1 in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any idea what I've done wrong and what I need to do to fix it?

  • Technically that's not a *compiler* error, it's a *linker* error. And the error is because the linker can't find those symbols, because you need to link with the `boost_system` library. – Some programmer dude Feb 05 '15 at 14:13
  • And don't forget `-lboost_filesystem` in case that's next up – sehe Feb 05 '15 at 14:14

0 Answers0