1

Aaというライブラリと、A.hppという.hppファイルがあります。プログラムがこのライブラリを使用する必要がある場合、プログラムは「A.hpp」を#includeし、次のようにリンクされます:g ++ test1.cpp Aa-otest1。プログラムをiostreamに明示的にリンクする必要がないのと同じように、Aaを明示的に入力せずに、このg ++​​ test1.cpp-otest1のようにのみコンパイルできるようにしたいと思います。どうすればこれを達成できますか?

4

1 に答える 1

1

これは、Visual C++ で実行できます (コンパイラは、いくつかのリンカー オプションをオブジェクト ファイルに埋め込むことができます。ライブラリをリンクする要求は、可能なオプションの 1 つです)。

Gcc (および私の知る限り、clang) にはそのような機能はありません。コマンドラインでライブラリを提供する必要があります。それを回避する方法はありません (ビルド ツールは技術的には回避方法ではありません。また、リンカーを実行するために使用するコマンド ラインにライブラリを配置します)。

于 2012-09-19T09:42:36.163 に答える