Я хотел бы использовать (в Linux Debian Squeeze г ++ 4.4) отдельно скомпилированные подталкивания (1.54.0) библиотеки:Простой способ для соединения подталкивания библиотеки
- Boost.Chrono
- подталкивания. Контекст
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.Locale
- Boost.MPI
- Boost.ProgramOptions
- Boost.Python
- библиотекой Boost.regex
- Boost.Serialization
- Boost.Signals
- Boost.System
- Boost.Thread
- Повышение . Тимер
- Boost.Wave
Для того, чтобы сделать это, в соответствии с Easy Build and Install, я набрал в терминале
$ cd path/to/boost_1_54_0
$ ./bootstrap.sh --prefix=~/boost
$ ./b2 install
В результате две папки include
и lib
были созданы в ~/boost
. В ~/boost/lib
есть файлы:
libboost_name.a
libboost_name.so
libboost_name.so.1.54.0
для каждой библиотеки буст.
Затем я включил некоторые библиотеки (например, регулярное выражение) в моем файле test.cpp:
#include<boost/regex.hpp> //may be also chrono, filesystem or whatever
я сказать компилятору искать регулярных выражений библиотеки в ~/импульс/Lib
$ g++ -I path/to/boost_1_54_0 test.cpp -o test -L~/boost/lib -lboost_regex
Но это приводит к ошибке компиляции:
test.cpp:(.text+0x49): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x53): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x5d): undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status
Что не так? Нет stage
папка в моем ~/boost
, а не как libboost_regex-gcc34-mt-d-1_36.a
, указанная в Easy Build and Install. Это резонанс?
Вот содержание test.cpp
//I need a general solution/idea that works for any of these libraries
#include <boost/regex.hpp>
//#include <boost/chrono.hpp>
//#include <boost/filesystem.hpp>
//#include<boost/some-other-separately-compiled-library>
int main()
{
}
Есть простой способ для связывания библиотек подталкивания, который работает для всех библиотек буста, которые должны быть построены отдельно?
Я не вижу, как вы ссылаетесь на компоновщик. –
@ VioletGiraffe, я только что редактировал вопрос – cpp
Попробуйте также связать 'boost_system'. – soon