2013-06-24 3 views
2

Я пытаюсь получить точную метку времени для C++ с помощью boost_chrono, однако по какой-то причине я не могу подключить библиотеку boost_chrono.Boost_chrono lib не устанавливается

Я следовал следующие шаги:

  1. Скачано подталкивание 1.53.0
  2. Извлеченные файлы и побежал sudo ./bjam в корне папки.
  3. Не знаю, где были установлены библиотеки, они не находятся в моей папке /usr/lib, поэтому побежал sudo apt-get install libboost-all-dev.
  4. Библиотеки Boost теперь находятся в /usr/lib, однако boost_chrono не существует.

Я получаю сообщение об ошибке:

/usr/bin/ld: cannot find -lboost_chrono 

libboost_chrono.a находится в boost_1_53_0/stage/lib и boost_1_53_0/bin.v2/libs, но при добавлении их в качестве библиотеки пути поиска не помогает.

Я добавляю

-lboost_filesystem -lboost_chrono -lboost_system 

на C++ составителя.

У кого-нибудь есть совет для этого? Так много документации для всего, что связано с библиотекой, очень непрозрачно для начинающего, и я, кажется, никуда не денутся.

Спасибо.

+0

Вы проверили/usr/local/lib? – bstamour

ответ

2

Ваша установка apt-get, вероятно, не сделала то, что вы хотите, потому что она устанавливает системный пакет для Boost, который может быть слишком старым, чтобы включить Chrono, который довольно недавний.

Что касается другого, я не уверен, что bjam без каких-либо аргументов делает точно, но он не выполняет установку; для этого вам нужно позвонить ./bjam install.

Самый простой способ, вероятно, просто следовать за Getting Started instructions из документов Boost. Прокрутите вниз немного, чтобы перейти к части компилированных библиотек.

2

Я получил это работает, используя How to Install and Use Boost? который я не нашел раньше:

" Я установил импульс с предложенными командами:

$ cd boost_1_53_0 
$ ./bootstrap.sh --prefix=/usr/local 
$ sudo ./b2 --prefix=/usr/local install 

"

подталкивание затем успешно установлен на /usr/local , и я включил /usr/local/include и добавил путь поиска библиотеки /usr/local/lib.

Важно, что я тогда потребовал sudo ldconfig, прежде чем он правильно установил связь.

Спасибо тем, кто помогал, очень ценили.

Смежные вопросы