web-dev-qa-db-ja.com

#pragma comment(lib、 "xxx.lib")Linuxで同等ですか?

_libunp.a_という静的ライブラリファイルがあります。_gcc -lunp xx_を使用してライブラリにリンクできることは知っています。

#pragma comment(lib,"xxx.lib")を使用して、Microsoft C/C++コンパイラにライブラリを含めるように指示できます。 Linux/GCCでどうすればいいですか?

56
Jichao

プラグマに関するGCCマニュアルのページ には、同等のプラグマについて言及されていないようです。

GCCがソースコードのリンクをサポートしていないのを見た理由の1つは、 リンクの順序に応じて正しいリンクdepends ;これには、コンパイルの順序に関係なくリンク順序が正しく発生することを確認する必要があります。あなたがそのような仕事に行くつもりなら、コマンドラインでリンカー引数を渡すだけでもよいでしょう(そうでなければ)。

20
Mark Rushakoff

ライブラリはリンク手順中に指定する必要があります。そのような情報は、単に翻訳単位に属していません。翻訳ユニットは、リンクステージがなくても前処理、コンパイル、および組み立てが可能です。

#pragma comment(lib,"xxx.lib")がソースファイルにあるからといって、コンパイラがそれを消費するわけではありません。実際、コメントとして入力され、その後リンカーによって使用されます。 * nixとそれほど変わりません。

19
Jeffrey Walton

このGCCフラグを使用して、不明なプラグマのエラーを生成します。コンパイラがそれを理解しているかどうかがすぐにわかります。

-Werror=unknown-pragmas

0
J. Winarske