問題タブ [qmake]

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 に答える
7310 参照

c++ - Qt .proファイルに「エラーとしての警告」ルールを追加する方法は?

私が通常C++プロジェクトで作業するとき、私が最初に行うことの1つは、コンパイラーで「警告をエラーとして扱う」を設定することです。

を使用するQtと、がqmake生成さMakefileれ、コンパイルコマンドにこのオプションは含まれません。生成されたオプション(およびその他)を追加する方法があると確信していますが、Makefile理解できませんでした。

どうすればいいですか?

コンパイラとしてQtwithのオープンソースバージョンを使用しています。g++

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

c++ - 32 ビット XP コンピューターで 64 ビット Qt をビルドする

32 ビット XP システムで Qt を共有 64 ビット モードでビルドしようとしています。

QMake を構成して 64 ビット ビルドを開始できます。問題は、ビルドが開始されると、最初に、プロセスが ui、moc、および rcc ユーティリティ コンパイラを 64 ビット モードでビルドし、次に 32 ビット マシンでそれらを実行しようとすることです。

それらのコンパイラを最初にビルドしないようにビルドを構成する方法を知っている人はいますか?

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

c++ - Cmakeまたはqmakeを使用してMicrosoftSDK(psapi.lib)を検索します

Qt4.6とMicrosoftSDK(Psapi.Lib)を使用するアプリケーションがあります。

私はcmakeまたはqmakeを使用してビルドします。

qmakeとcmakeの場合、Psapi.libのパスをハードで指定します。

qmake:

cmake:

しかし、ハードパスを避けたいのですが、SDKライブラリを検索する方法はありますか?

Linuxの場合、検索に問題はありません。

qmake:

cmake:

同じことをすることは可能ですか?ありがとうございます。

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

qt4 - Qt4の本には「リリースする」と書かれていますが、現実は一致しません

さまざまな理由によると、Qt4アプリの場合、「makerelease」または「makedebug」を使用してリリースバージョンまたはデバッグバージョンをビルドします。実生活では、これらはエラーを引き起こします。

裸の「作る」だけが機能します。それが何を生み出すのかわかりません。「strip」を実行すると実行可能ファイルのサイズは小さくなりますが、gdbはストリップされていないファイルでシンボルを検出しません。ArchLinuxでqt4.6.2を使用しています。

では、リリースするかデバッグするかを決定する適切な方法は何ですか?

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

qt - Qtの複数の構成

Qt Creatorは初めてですが、複数のビルド構成に関していくつか質問があります。補足:LinuxマシンにQtCreator1.3.1をインストールしています。

QtCreatorプロジェクトには2つの構成が必要です。重要なのは、これらは単にデバッグしてリリースするのではなく、ターゲットアーキテクチャ(x86またはx64)に基づいているということです。Qt / Qmakeで複数のターゲットを構築すること に遭遇 し、そこから次のようなことを試みました。

ただし、この方法では、Qt Creator IDEを使用してこれらを個別にビルドすることはできないようです(IDEメニューの[すべてビルド]、[すべて再ビルド]などのオプション)。これを実現する方法はありますか?Qt Creatorで新しいビルド構成としてConf_x86とConf_x64を表示することもできますか?

私が持っているもう1つのQtは64ビットなので、デフォルトでは、QtCreatorIDEを使用して構築されたターゲットも64ビットになります。ビルドステップでの効果的なqmake呼び出しには、次のオプションが含まれていることに気付きました-spec linux-g++-64-spec linux-g++-32また、「追加の引数」を追加すると、それがオーバーライド-spec linux-g++-64され、結果のターゲットが32ビットになることにも気づきました。
.proファイルの内容を編集するだけでこれを実現するにはどうすればよいですか?これらの変更はすべて、最初は.pro.userファイルに保存されていることがわかりましたが、これはまったく適していません。可能であれば、.proファイルからこれらの構成を行うことができる必要があります。

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

qt - QMake を使用すると、DLL のロードが遅延する可能性がありますか?

私のプロジェクトでは、ロードを遅らせたい DLL のセットがあります。つまり、プロセスの開始時ではなく、最初の使用時にロードします。つまり、特定の DLL (Qt 自体ではない) に対して MSVC リンカーの /DELAYLOAD フラグ (詳細については [1] を参照) を使用したいということです。その理由は、一部のユーザーが DLL の初期化中にクラッシュを経験するためです (これは再現できません)。ソフトウェアの以前の非 Qt バージョンにはその問題はありませんでしたが、遅延読み込みを使用していたため、違いが生じる可能性があります。

QMake を使用して、遅延読み込みを機能させる方法が見つかりませんでした。/DELAYLOAD を msvc リンカーに渡す方法を知っている人はいますか?

[1] http://www.codeproject.com/KB/DLL/Delay_Loading_Dll.aspx

0 投票する
6 に答える
59417 参照

qt - 値を使用して qmake に定義を追加しますか?

qmake WITH 値を使用して定義を追加するにはどうすればよいですか。

たとえば、これは私の .pro ファイルでは (予想どおり) 機能しません。

または

コンパイルを開始する前に WINVER を 0x0500 として定義し、定義がコンパイルやインクルード順序の影響を受けないようにするにはどうすればよいですか?

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

c++ - .pro ファイルに C/C++ ヘッダー ファイルを含めることは可能ですか?

Qmake (.pro) ファイルに C/C++ ヘッダー ファイルを含めることはできますか?

version.hプロジェクトのいくつかの定義 (文字列、バージョン番号など) を含むヘッダー ファイルがあります。また、このヘッダー ファイルを含む exe/dll にバージョン情報を追加する Windows 用の .rc ファイルもあります。

それで、どうにかしてヘッダファイルの #defines を .pro ファイルで処理することができますか、または 1 つのファイルで文字列やその他の定数を定義し、C++ コードである .rc からアクセスできるようにするために他の方法を使用できますか?ファイルと .pro ファイルをそのファイルを含めて?

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

qt - Qt / qmakeを使用するときに、生成されたファイル(オブジェクトファイルなど)を別のフォルダーに配置するにはどうすればよいですか?

qmakeを使用するQtプロジェクトがあります。明瞭さと読みやすさを向上させるために、私は

  • ソースファイル
  • ビルドシステム
  • 生成されたファイル(オブジェクトファイルなど)

分ける。

したがって、私の最初のステップは、ソースファイルをsrc/サブディレクトリに配置することでした。

このようにして、ビルドシステム(* .pro)からソースファイルを分離しました。ただし、その後を実行qmakeするmakeと、生成されたファイル(オブジェクトファイルなど)がメインプロジェクトフォルダーに配置されます。

少なくとも、それらはsrc/フォルダーに入れられませんでしたが、どのように指定すれば、それらが次のような別のサブフォルダーに入れられるようになりbuild/ますか?

(ところで、ターゲットバイナリがどこに配置されるかは気にしませんが、ターゲットバイナリmyprojectを配置するのではなく、プロジェクトフォルダに直接配置する必要があると思いますbuild/。)

0 投票する
5 に答える
33839 参照

c++ - pkg-config 出力を使用してライブラリを QT プロジェクトにリンクする

これは少し初心者の質問です。OpenCV ライブラリを QT プロジェクトに追加しようとしています。

この質問は、リンクフラグが

コマンド ライン出力を次のようにプロジェクト ファイルに貼り付ける場合:

その後、すべてが正常にコンパイルされますが、これは移植性がありません。コマンドの出力を簡単に参照するにはどうすればよいですか?

更新: Ken Bloom の提案を試しましたが、コンパイルできません。実際に生成されるコンパイラ コマンドは次のとおりです。