Compilation errors with compiling a program with boost libraries 1.39
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Compilation errors with compiling a program with boost libraries 1.39
Hello, I am trying to compile an C++ program on Linux(Most distros) called GHost One. Some Linux distributions have problems with the makefile not containing the correct references to boost libraries. Is there a way to add something to the makefile to fix this, or to anything else?
If it makes any difference I compiled boost by:
Code:
wget http://ihigh.myvnc.com/koola_project/boost_1_39_0.tar.gz2
tar xjf boost_1_39_0.tar.gz2
cd boost_1_39_0
./boostrap.sh --with-libraries=filesystem,program_options,system,regex,thread,date_time --libdir=/usr/lib/
./bjam
./bjam install
It usually comes up with errors(during compilation of program)of something like: Missing Filesystem.hpp and other boost libs.
I know that one way is to find out the exact names of the boost lib .so files and using them by
Code:
ls -l /usr/lib/libboost*.so
and using the result names in the makefile but I'd like to somehow make it easier.
If you are building your own version of boost (instead of using the one that is in the repository for your distro), you need the header files to be accessible by the compiler. This means that they will need to be somewhere like /usr/include or /usr/local/include.
You could make a symbolic link from the boost headers directory to '/usr/include/boost', or use compiler flags so that the headers can be found. For example, you might move the headers to /usr/include/boost_1-39 and then make a symbolic link to /usr/include/boost.
Last edited by neonsignal; 12-01-2009 at 06:36 PM.
Which Linux are you using ?
Like Fedora 11, Ubuntu 9.04, CentOS 5.4 .
All distros, since it's supposed to be able to be compiled in every Linux.
Quote:
If you are building your own version of boost (instead of using the one that is in the repository for your distro), you need the header files to be accessible by the compiler. This means that they will need to be somewhere like /usr/include or /usr/local/include.
You could make a symbolic link from the boost headers directory to '/usr/include/boost', or use compiler flags so that the headers can be found. For example, you might move the headers to /usr/include/boost_1-39 and then make a symbolic link to /usr/include/boost.
Kinda have to, It needs Boost 1.36 or newer, and most distro repos come with 1.34
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.