ごめんなさい!私はこれをたくさんググってみました、そして答えを見つけることができません!それは私が知っている愚かなことです。
Eclipse cdtで静的ライブラリ(* .a)にリンクできません。それらをすべて「プロジェクト」->「設定」->「GCC C++リンカー」->「ライブラリ」にリストしました。 libが正しいことを確認するために絶対パスを使用しました...
-l/usr/local/lib/libboost_date_time.aが見つかりません
私が間違っていることは何でも愚かだと確信しています:(
編集-そして、実行時にライブラリをリンクしていることを言及する必要があります...
Linuxでコードをコンパイルしているときに(Windowsのバックグラウンドから)、同様の問題があり、静的ライブラリへの絶対パスを正しく指定したことを思い出しても、動作しませんでした。
「libboost_date_time.a」にリンクするには、「lib」と「.a」なしで「boost_date_time」を指定する必要があることをご存知ですか?私の場合は問題を解決しました。/usr/local/libは、いずれの場合もAFAIRのパス上にある必要があります。
静的ライブラリまたはアーカイブは、オブジェクトファイルのコレクションにすぎません。
その他のオブジェクトとしてアーカイブをC/C++ビルド->設定-> C++リンカー->その他の下に追加します:
一部の人々は、完全なパス名を指定することに血まみれの殺人を叫びます。私はそれが実際に(時々理論とは異なり)動作することを発見し、そしてpathとfilenameを壊して-L
と-l
でそれらを指定することよりも悪いことではありません。そして、私はそれが実際に機能することを言及しました...
C/C++ General->Paths & Symbols
構成画面でlibsを追加するときに、同様の問題が発生しました。
代わりに、C/C++ Build -> settings
の下のGCC C++ Linker / Libraries
画面で、ライブラリなしでライブラリ名と.a
をライブラリに追加し(-l)、ライブラリ検索パス(-L)
にパスを追加しました。これは私の問題を解決しました