問題タブ [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.
c++ - Qt .proファイルに「エラーとしての警告」ルールを追加する方法は?
私が通常C++
プロジェクトで作業するとき、私が最初に行うことの1つは、コンパイラーで「警告をエラーとして扱う」を設定することです。
を使用するQt
と、がqmake
生成さMakefile
れ、コンパイルコマンドにこのオプションは含まれません。生成されたオプション(およびその他)を追加する方法があると確信していますが、Makefile
理解できませんでした。
どうすればいいですか?
コンパイラとしてQt
withのオープンソースバージョンを使用しています。g++
c++ - 32 ビット XP コンピューターで 64 ビット Qt をビルドする
32 ビット XP システムで Qt を共有 64 ビット モードでビルドしようとしています。
QMake を構成して 64 ビット ビルドを開始できます。問題は、ビルドが開始されると、最初に、プロセスが ui、moc、および rcc ユーティリティ コンパイラを 64 ビット モードでビルドし、次に 32 ビット マシンでそれらを実行しようとすることです。
それらのコンパイラを最初にビルドしないようにビルドを構成する方法を知っている人はいますか?
c++ - Cmakeまたはqmakeを使用してMicrosoftSDK(psapi.lib)を検索します
Qt4.6とMicrosoftSDK(Psapi.Lib)を使用するアプリケーションがあります。
私はcmakeまたはqmakeを使用してビルドします。
qmakeとcmakeの場合、Psapi.libのパスをハードで指定します。
qmake:
cmake:
しかし、ハードパスを避けたいのですが、SDKライブラリを検索する方法はありますか?
Linuxの場合、検索に問題はありません。
qmake:
cmake:
同じことをすることは可能ですか?ありがとうございます。
qt4 - Qt4の本には「リリースする」と書かれていますが、現実は一致しません
さまざまな理由によると、Qt4アプリの場合、「makerelease」または「makedebug」を使用してリリースバージョンまたはデバッグバージョンをビルドします。実生活では、これらはエラーを引き起こします。
裸の「作る」だけが機能します。それが何を生み出すのかわかりません。「strip」を実行すると実行可能ファイルのサイズは小さくなりますが、gdbはストリップされていないファイルでシンボルを検出しません。ArchLinuxでqt4.6.2を使用しています。
では、リリースするかデバッグするかを決定する適切な方法は何ですか?
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ファイルからこれらの構成を行うことができる必要があります。
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
qt - 値を使用して qmake に定義を追加しますか?
qmake WITH 値を使用して定義を追加するにはどうすればよいですか。
たとえば、これは私の .pro ファイルでは (予想どおり) 機能しません。
または
コンパイルを開始する前に WINVER を 0x0500 として定義し、定義がコンパイルやインクルード順序の影響を受けないようにするにはどうすればよいですか?
c++ - .pro ファイルに C/C++ ヘッダー ファイルを含めることは可能ですか?
Qmake (.pro) ファイルに C/C++ ヘッダー ファイルを含めることはできますか?
version.h
プロジェクトのいくつかの定義 (文字列、バージョン番号など) を含むヘッダー ファイルがあります。また、このヘッダー ファイルを含む exe/dll にバージョン情報を追加する Windows 用の .rc ファイルもあります。
それで、どうにかしてヘッダファイルの #defines を .pro ファイルで処理することができますか、または 1 つのファイルで文字列やその他の定数を定義し、C++ コードである .rc からアクセスできるようにするために他の方法を使用できますか?ファイルと .pro ファイルをそのファイルを含めて?
qt - Qt / qmakeを使用するときに、生成されたファイル(オブジェクトファイルなど)を別のフォルダーに配置するにはどうすればよいですか?
qmakeを使用するQtプロジェクトがあります。明瞭さと読みやすさを向上させるために、私は
- ソースファイル
- ビルドシステム
- 生成されたファイル(オブジェクトファイルなど)
分ける。
したがって、私の最初のステップは、ソースファイルをsrc/サブディレクトリに配置することでした。
このようにして、ビルドシステム(* .pro)からソースファイルを分離しました。ただし、その後を実行qmake
するmake
と、生成されたファイル(オブジェクトファイルなど)がメインプロジェクトフォルダーに配置されます。
少なくとも、それらはsrc/
フォルダーに入れられませんでしたが、どのように指定すれば、それらが次のような別のサブフォルダーに入れられるようになりbuild/
ますか?
(ところで、ターゲットバイナリがどこに配置されるかは気にしませんが、ターゲットバイナリmyproject
を配置するのではなく、プロジェクトフォルダに直接配置する必要があると思いますbuild/
。)
c++ - pkg-config 出力を使用してライブラリを QT プロジェクトにリンクする
これは少し初心者の質問です。OpenCV ライブラリを QT プロジェクトに追加しようとしています。
この質問は、リンクフラグが
コマンド ライン出力を次のようにプロジェクト ファイルに貼り付ける場合:
その後、すべてが正常にコンパイルされますが、これは移植性がありません。コマンドの出力を簡単に参照するにはどうすればよいですか?
更新: Ken Bloom の提案を試しましたが、コンパイルできません。実際に生成されるコンパイラ コマンドは次のとおりです。