Bernardo Meurer
Bernardo Meurer

Reputation: 2345

C++ boost error

I'm building a code based on this fast factorial library, and it depends on boost and mpir. I'm running Ubuntu 14.04 and using Netbeans 8.0.2. To simply test the #include statements of the library I made this silly code:

#include <iostream>
#include <mpir.h>
#include <primeswing.h>
#include <xmath.h>
 /*
 * 
 */
int main() {
    long x = 4;
    std::cout << x;
    return 0;
}

When I try to compile it however I get the following error

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/arengorn/NetBeansProjects/BA'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/ba
make[2]: Entering directory `/home/arengorn/NetBeansProjects/BA'
mkdir -p dist/Debug/GNU-Linux-x86
g++     -o dist/Debug/GNU-Linux-x86/ba build/Debug/GNU-Linux-x86/main.o ->lm
build/Debug/GNU-Linux-x86/main.o: In function `__static_initialization_and_destruction_0':
/usr/include/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/ba] Error 1
make[2]: Leaving directory `/home/arengorn/NetBeansProjects/BA'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/home/arengorn/NetBeansProjects/BA'
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 114ms)

Can anyone help me with why is the boost library (which is installed and present under /usr/include) is not working?

Upvotes: 2

Views: 1214

Answers (1)

Bernardo Meurer
Bernardo Meurer

Reputation: 2345

As commented by Wintermute

You need to link libboost_system.so. Put -lboost_system in your linker flags.

That solved the problem.

Upvotes: 3

Related Questions