問題タブ [out-of-source]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1469 参照

cmake - Proper way to get an out-of source build in multi-part cmake project

I use cmake to build, test and install my project. My way is a little crude: I use a scripts like this to get an out-of-source build:

I guess I could at least put it into makefile, but isnt it strange to use Makefile to run cmake to generate new Makefiles and run another make?

What is the proper way to do it? Does cmake have an option to avoid calling "cd"?

Recently it became even more complicated as I factoread out a library that I would like to compile, test and distribute separately. I want to avoid duplication of all the stuff I have in my top CMakeLists.txt.

How to do it properly with cmake?

0 投票する
1 に答える
4382 参照

scons - sconsを使用してアウトオブソースビルドを実行するにはどうすればよいですか?

私はcmakeを使用してプロジェクトをソースからビルドしています。これは、ソースディレクトリが不要なファイルで汚染されないようにするために非常に便利です。

CMakeLists.txtが現在のディレクトリにあるとすると、これは次のように実行できます。

どうすればsconsで同じことができますか?

0 投票する
1 に答える
1203 参照

c++ - この「ソース外」ビルド シナリオで qmake が余分な「moc」フォルダーを作成しないようにするにはどうすればよいですか?

(申し訳ありませんが、次の詳細を含める以外に説明するより良い方法は考えられません)

構築前の構造:

「Project.pro」の内容:

「Source.pro」の内容:

「My_Library.pro」の内容:

「ProjectSettings.pri」の内容

ビルド後の構造:

問題

アイデアは

  • qmake -recursiveプロジェクトフォルダで実行
  • 指定されたすべてのサブプロジェクトをビルドします
  • よく整理された中間ファイルの束を吐き出します
  • サブプロジェクトのすべてのバイナリを 1 つのフォルダーに配置します。
  • これらはすべて、デバッグまたはリリースのスコープに基づいて分離されています

上で「WTF」 *を強調表示したmocフォルダーを含むプロジェクトフォルダーの「サブプロジェクト」ごとの追加フォルダーを除いて、見事に機能するようです。

質問

  1. .pro ファイル内のどの命令 (の組み合わせ) が "WTF" フォルダを生成しますか?
  2. 「WTF」フォルダは何に使用されますか? (Debug および Release スコープは独自の moc を指定することに注意してください)
  3. 「WTF」フォルダが作成されないようにする方法はありますか?

MOCにmocファイルを出力させるソースファイルはまだないので、現時点ではすべてのmocフォルダーが空です。

* "WTF" = "何のフォルダ"

0 投票する
1 に答える
934 参照

c++ - Visual Studio でソース ツリーのプロジェクトを作成する方法は?

Show All FilesVisual Studio のフィルターを使用する代わりに、ファイル システムを反映したフォルダー構造でプロジェクト ファイルを表示するソリューション エクスプローラーの機能を使用します。私の目標は、ソース ツリーの外部に Visual Studio プロジェクトを作成し、ディレクトリ構造内にファイルを一覧表示することです。

これまでに行ったことは、以下に示すディレクトリ構造に空のソリューションとプロジェクトを作成することです。次に、srcディレクトリ内の 3 つのフォルダーを選択し、プロジェクトにドラッグしました。それらはプロジェクトに追加されましたが、ネイティブのディレクトリ構造ではなく、ソリューション エクスプローラーに単純なリストとして表示されます。

上記のファイル システム ビューを壊さずに、ソース ツリーの外にあるプロジェクトを作成するにはどうすればよいですか?

0 投票する
1 に答える
577 参照

c++ - Eclipse でソース ビルドが不足している

eclipse/autotools を使用してソース ディレクトリからプロジェクトをコンパイルすることは可能ですか? ソースツリーをきれいに保つ必要があります。

私がすでに試したこと:

次のディレクトリを変更します: Project properties -> C/C++ builds -> Build directory。(デフォルト値は${workspace_loc:/project-name}/です。)これは役に立ちませんでしたが。

0 投票する
2 に答える
291 参照

c - コンパイラに Cmake で作成されたファイルを見つけさせる

このページconfigure_fileで説明されているように、機能の可用性チェックで Cmakeのコマンドを使用しています。そのページは、次のようなコマンドを使用することを提案しています。

に変換${CMAKE_CURRENT_SOURCE_DIR}/config.h.inされ${CMAKE_CURRENT_BINARY_DIR}/config.hます。しかし、プログラムをコンパイルすると、コンパイラは${CMAKE_CURRENT_SOURCE_DIR}ヘッダー (例: config.h) のみを検索し、${CMAKE_CURRENT_BINARY_DIR}. 当然、コンパイラはconfig.hそれが生成された場所を見つけられず、ビルドは失敗します。

この問題を解決する標準的な方法は何ですか? ソースディレクトリに作成されるCMakeLists.txtように変更する必要がありますか? config.hまたは、ビルド ディレクトリをインクルード パスに追加するように変更する必要がありますか? (そして、実際には、なぜこれを手動で処理しなければならないのでしょうか? [半修辞的な質問])

この質問は同様の問題に関するものですが、可能な解決策として両方のオプションが提案されています。標準的な慣行があるかどうか、またはこれが Cmake の使用方法について何かが欠けていることを示しているかどうかを知りたいです。

0 投票する
1 に答える
673 参照

cmake - CMake ビルド ディレクトリの変更

cmake の作業ディレクトリを変更したいと思います。たとえば、現在CMakeLists.txtであるc/ディレクトリから cmake を実行すると、これは作成されたディレクトリとファイルになります。

これは本当に醜く、私たちのアプリケーションはCross-platformであるため、これは良くありません。現在、次のようにc/buildディレクトリから Cmake を使用しています。

したがって、パラメーターに基づいて (およびc/から cmake を実行する場合)、次のようなディレクトリ構造を作成します。

これはcmakeで可能ですか、それともbashでのみ可能ですか?

よろしく、 クリスチャン