63

という名前の静的ライブラリ ファイルがあります。ライブラリへのリンクにlibunp.a使用できることはわかっています。gcc -lunp xx

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

4

3 に答える 3

28

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

GCC がソース コードでのリンクをサポートしていない理由の 1 つは、正しいリンクがリンクの順序に依存する場合があることです。これには、コンパイルの順序に関係なく、リンクの順序が正しく行われるようにする必要があります。それほど多くの作業を行う場合は、リンカー引数をコマンド ライン (またはそれ以外) で渡すだけでよいと思います。

于 2009-11-06T03:35:39.927 に答える
21

ライブラリは、リンクの段階で指定する必要があります。このような情報は、翻訳単位には属しません。翻訳単位は、リンク段階がなくても前処理、コンパイル、およびアセンブルできます。

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

于 2010-11-26T12:23:22.860 に答える
0

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

-Werror=unknown-pragmas

于 2018-09-21T21:03:34.993 に答える