ссылка статическая библиотека в затмении CDT - PullRequest
20 голосов
/ 10 февраля 2011

Простите!Я много гуглил и не могу найти ответ!Это глупо, я знаю.

Я не могу связать в статических библиотеках (*. A) в eclipse cdt.Я перечислил их все в Project-> Settings-> GCC C ++ linker -> Libraries.Я использовал абсолютный путь, чтобы убедиться, что у меня правильная библиотека ... и я получаю:

не могу найти -l / usr / local / lib / libboost_date_time.a

Я уверен, чтоглупо, что я делаю неправильно: (

Edit - и я должен упомянуть, что я связываю библиотеки во время выполнения ...

Ответы [ 3 ]

19 голосов
/ 10 февраля 2011

Я помню, как у меня была похожая проблема, когда я компилировал наш код под Linux (исходя из фона Windows), и если я правильно помню, указание абсолютного пути к статической библиотеке также не работало.

Знаете ли вы, что для ссылки на "libboost_date_time.a" вам необходимо указать "boost_date_time" без "lib" и ".a"? В моем случае это решило проблему. / usr / local / lib должен быть на вашем пути в любом случае AFAIR.

15 голосов
/ 21 февраля 2014

Статические библиотеки или архивы - это просто набор объектных файлов.

Добавить архив как Другие объекты в Сборка C / C ++ -> Настройки -> C ++ Linker ->Разное :

enter image description here

Некоторые люди плачут кровавым убийством, указывая полный путь.Я считаю, что это работает на практике (в отличие от теории временами), и это не хуже, чем разбить путь и имя файла , а затем указать их с помощью -L и -lИ я упоминал, что это на самом деле работает на практике ...

7 голосов
/ 05 марта 2012

У меня была похожая проблема при добавлении библиотек на экране конфигурации C/C++ General->Paths & Symbols.

Вместо этого на экране C/C++ Build -> settings в разделе GCC C++ Linker / Libraries я добавил имя библиотеки без lib и .a в библиотеках (-l) и добавил путь в пути поиска библиотек (-L).Это решило мою проблему

...