web-dev-qa-db-ja.com

* .libファイルをMinGWにリンクする

* .libファイルをMinGW(私はEclipseで使用しています)とリンクすることは可能ですか?私はlibcurl + OpenSSLと戦っているので、 私のエラー がMinGWで.lib-filesを使おうとしているのか、それとも何かが間違っているのかわかりません。

20
Alecs

おそらくそうではありません。 mingwの静的ライブラリ形式は* .aです。

特定のプラットフォームのダイナミックライブラリは、それらをロードできる必要があるOSローダーによって標準化されています。

静的ライブラリは、ツールチェーンのリンカによってのみ理解される必要があるため、クロスコンパイラとの互換性が低くなります。 Afaik * .libファイルは、すべてのMSVCバージョン間で互換性があるわけではありません。

後で追加厄介なコメントのため:新しいバージョンのmingwも.libファイルをサポートしていますが、'11に質問をしたので、おそらくそのときはありませんでした。

6

mingwは、拡張子が.libのライブラリも受け入れます。

たとえば、libsample.libという名前のライブラリは次のようにリンクする必要があります

-L -llibsample

参照: http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use

24
Sasha

新しいmingwバージョンはlibファイルのリンクをサポートします。しかし、。libにプレフィックスlibxxxx.libが付いているという問題に直面しました。これにより、リンク時にプレフィックスlibが省略されます。したがって、lib<name>。lib

また、.libを.aに変換する方法もあります。例: lib2a これも使用できます。

15