This is more of a note to myself, since it’s an error I keep bumping into. When compiling manually using gcc (or g++), you should pass all the libraries you’re compiling against at the end of the argument list. For example:
g++ -Wall -lboost_thread my_file.cpp
will result in an error like:
undefined reference to `boost::thread::join()'
undefined reference to `boost::thread::~thread()'
while
g++ -Wall vortex5_brute.cpp -lboost_thread
works fine.
It is order of symbol resolution symbols in vortex5_brute.cpp are resolved in further libraries not the other way around. There is a meaning of linking order it is not “set” is is more like a directional “graph”