8

質問が以前に行われた場合は最初に申し訳ありませんが、検索しても何も見つかりませんでした。

2 番目に:

  • Kubuntu 12.04 を使用しています。
  • gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3、
  • ブースト v1.48.0

タイトルが示すように、ブースト/プログラム オプションライブラリを使用するアプリケーションがあります。

アプリケーションのソース コードを先生に送りたいのですが、先生は Boost をインストールしていません。Boost ライブラリ全体から対応するソース ファイルを抽出して、本当に必要なファイルだけを出荷する方法を探しています。

私が今欲しいのは、ヘッダーと cpp ファイルを含むフォルダーで、make私の先生が自分のマシンで簡単に作業を行います。

しかし、そのファイルを取得する方法がわかりません。

  • 見つけましbcpたが、出力をどうするかわかりません。.hpp ファイルと .cpp ファイルがありますが、コンパイルしようとするとエラーが発生します...

  • 次にbootstrap.sh、boost フォルダー内のスクリプトを確認し、bootstrap.sh --with-libraries=program_options. これにより、すべてのライブラリのバイナリ ライブラリとヘッダー ファイルが構築されました。

ここでlibboost_program_options.a、2 番目のステップの と最初のステップのヘッダー ファイルを一緒に使用しました。

インクルードパスにヘッダーへのパスを配置し、-I path_to_headerに対して静的にリンクしlibboost_program_options.aました。

それもコンパイルして完全に実行されましたが、gcc 4.7.x で Fedora 17 を使用している友人のマシンではなく、私のマシンでのみ実行されました。

「そのヘッダー ファイルとその cpp ファイルをフォルダーに配置し、cpp ファイルへのパスを Makefile のリストに追加してから、make を実行し、そこにプログラムがある」のような簡単で簡単な方法はありますか?

ありがとう

4

3 に答える 3

0

これが答えであるかどうかはわかりませんが、私から聞きたいのですが、これらの問題について聞いた後、私の先生はブーストライブラリを自分のコンピュータにインストールしました...

これで、ファイルをオプションにリンクできるようになりました。-lboost_program_optionsこれは、私のマシン、友人のマシン、そして(おそらく最も重要な)教師のマシンで機能します...

お時間をいただきありがとうございます:)

于 2012-11-14T17:05:21.267 に答える
0

特定のソース ファイルが依存するすべてのファイルを取得する必要がある-M (または -MM)コマンド ライン オプションを試すことができます。

于 2012-11-14T17:33:56.280 に答える
0

ソースコードの融合を作成しませんか? 実行できるソースファイルごとに

gcc -E source.cpp

プリプロセッサ出力を取得します。次に、わかりやすくするために、ヘッダー部分を実際のソース コードから分離できます。インクルードは 1 つのファイルのみに縮小されます。

于 2012-11-14T11:06:11.877 に答える