2016-11-08 10 views
0

少しの背景情報私はここで役立つと思います。私は現在、将来の学生が使用するためのクロスプラットフォームライブラリを構築する私の学校のプロジェクトに入っています。ターゲットとするプラットフォームごとに最も人気のあるIDE /コンパイラを使用することが義務づけられています。これは、Windows用のVisual C++コンパイラ、Linux用のgcc(Ubuntu)を使用したCode :: Blocks、Mac用のClangを使用したXCodeでVisual Studio 2015を使用していることを意味します。x86/x64ベースのビルド出力の変更とデバッグ/リリースCode :: Blocks/Xcode

私たちは現在、ライブラリのテストスイートを開発中ですが、壁のようなものに遭遇しました。テストスイートは、すべての構成(x86デバッグ、x86リリース、x64デバッグ、x64リリース)のライブラリをどこに見つけるかを知る必要があります。

Visual Studioでは、これらのさまざまなビルドすべてに対して出力ディレクトリを選択できるため、これは簡単です。

Code :: Blocksは、出力ディレクトリ用のリリースとデバッグビルドオプションのみを提供します。

XCodeはまったく別の問題です。それは私に出力を置く場所の1つのオプションを与えるだけです。それがデバッグ/リリースかx86/x64かどうかは気にしません。それはちょうどフォルダの名前を言うと私はそこにすべてを置くよ。

Code :: BlocksおよびXCodeでこれらのオプションを拡張する方法はありますか?これらのライブラリを私のために移動するポストビルドスクリプトを調べましたが、ライブラリがコンフィギュレーションをビルドするかどうかをスクリプトでどのように伝えるかを理解することはできません。私は図書館が同じ名前を維持しなければならないという指示を受けており、ビルド構成ごとに名前を変更することは選択肢ではありません。

答えて

0

私はXCodeを助けることはできませんが、コードブロックでは、必要なだけ多くのビルド構成を追加できます。ビルドターゲットと呼ばれていますが、gccやVisual Studioのmakeファイルのターゲットとまったく同じではありません。

追加のターゲットを追加するには、メニューから[プロジェクト - >プロパティ...]を選択し、[ビルドターゲット]タブを選択します。次に、32ビットまたは64ビットビルド用に2つの新しいターゲットをプロジェクトに追加できます。既存のターゲットのビルド構成を反映するように名前を変更することもできます。

ビルドターゲットタブの一番下には、「ビルドターゲットファイル」というチェックボックスがあります。少なくとも私が使用するコードブロックのバージョンでは、新しいターゲットを追加すると、すべてのチェックボックスが空になります。それが当てはまる場合は、そのビルド構成に必要なファイルをチェックする必要があります。

最後に、新しいビルド構成のコンパイラオプション、リンカオプション、インクルードフォルダ、およびlibフォルダを設定します。ビルドオプションボタンをクリックし、追加のコンパイラ、ビルド設定に適した設定とフォルダを追加します。

ここで注意すべき点が1つあります。 Codeblocksを使用すると、プロジェクトレベルとターゲットレベルの両方でコンパイラオプションとリンカオプションを設定できます。デフォルトでは、プロジェクトレベルで行われたすべての設定がすべてのターゲットに適用されます。

たとえば、単純なプログラムの場合、プロジェクトレベルで-Wallオプションが設定され、デバッグ設定に-gが設定され、リリース設定に-O2が設定されます。結果として、デバッグターゲットをビルドしようとすると、コンパイラで使用されるオプションは "-Wall -g"で、リリースターゲットでは "-Wall -O2"です。リンカーオプションとフォルダーについても同様のことが言えます。

プロジェクトで、32ビットまたは64ビットのターゲットにのみ適用される既存のオプションがプロジェクトレベルで設定されている場合は、これらの設定をプロジェクトレベルから個々のターゲットに移動する必要があります。

+0

これは実際には両方のプラットフォームで私の質問に答える(私は信じています)。私はXCodeはビルドターゲットに似ていると思う。ありがとう。私はこれを決して考えなかったでしょう。私はそれが存在していることを知っていましたが、私はCode :: Blocksを使用して以来ずっとずっとそれを忘れていました。 – JParks

関連する問題