問題タブ [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.
distribution - Qmakeの「make dist」デフォルトターゲットを上書きするには?
Qt プロジェクトでは、カスタム を提供するmake dist
必要があります。そこで、次の行を*.pro
ファイルに追加しました。
それは機能しますが、実行するたびに次の警告が表示されますmake
。
それとは別に、それはかなりうまく機能し、Qmake のデフォルトmake dist
ターゲットを完全に上書きします。しかし、警告は本当に迷惑です。
などの別のターゲット名を使用できますmake dist-all
がmake dist
、確立された標準コマンドです。make dist
警告を受けずにQmake を上書きすることは可能ですか?
多分私は間違った軌道に乗っていますか?この問題を別の方法で処理する必要がありますか?
macos - qtcreator に非ユニバーサル バイナリを強制的に作成させるにはどうすればよいですか
Mac で qtcreator を使用すると、ユニバーサル バイナリが作成されます。
「ネイティブ」バイナリを作成するだけの設定方法を知っている人はいますか? (つまり、私の場合は i386' ですか?)
Qtcreator はビルドシステムとして qmake を使用します。
これまでのところ、Google は私の友人ではありませんでした。
編集:これまでの私の設定ファイル:
それでも libmongoclient.a でエラーが発生します
libboost ライブラリはすべて問題ありませんが、これは +universal オプションを使用して macports から取得したためです。
mongoclient はユニバーサルをサポートしていないため、現在、ユニバーサルのものをすべて削除しています。ブーストライブラリで3つのエラーが発生し、少なくともmongoclientがリンクすることを望んでいました。その時点で、macport のストーリー全体をもう一度やり直すことができましたが、今回はユニバーサルを削除しました。
残念ながら、まだ同じリンカ エラーがあるため、まだユニバーサル バイナリがビルドされているようです。
助けてくれてありがとう
qt - QMake からプログラム/スクリプトを実行する
かなり大きなコードベースがあります。コードの大部分は、qmake を使用してコンパイルされ、makefile が生成されます。ただし、バッチ ファイルの実行または他のプログラムの実行によって生成されるサブプロジェクトがいくつかあります。
qmake を使用してすべてをコンパイルできるようにしたいのですが、qmake で単純にスクリプトを実行する方法がわかりません。
私が試したことの 1 つは、pro ファイルで次のように QMAKE_EXTRA_TARGETS を使用することです。
次に、バッチ ファイルで次のように placeholder.cpp を生成する必要があります。
これはうまくいくようです。問題は、それがややばかげていることです。batch_runner.target を指定しない (つまり、空白のままにする) か、SOURCES に placeholder.cpp を配置しない場合、バッチ ファイルは実行されません。これは、qmake が batch_runner.commands を Makefile 内の他の依存関係のアクションにしないためです。
Makefile の実行時にスクリプトが実行されるように、QMake に Makefile を作成させるより良い方法はありますか?
windows - QT/qmake を使用して libshout をコンパイルする
Windows 用にビルドしているときに、QT アプリケーションを DLL (libshout) にリンクしようとしています。
.pro ファイルに適切な行を追加しました。
libshout のビルドと /local/lib へのインストールも成功しました (mingw と gcc-dw2 コンパイラを使用しています)。
ただし、qmake は正常にリンクできません。以下に gcc/make の出力を貼り付けました。正しいライブラリにリンクしようとしているかどうかさえわかりません (.a/.la は静的ライブラリではありませんか?)。
私はこれで3日間髪を引き裂いてきたので、助けていただければ幸いです:)
java - MINGW を使用して JNI DLL をビルドする
Qt を呼び出す DLL を作成しようとしています (現在、必要な機能に Jambi を使用できません)。私は単純なJavaメソッドを持っています:
Visual Studio Express 2010 で C プロジェクトを作成し、DLL をビルドできました。
次に、Qt クリエーターでプロジェクトを作成し、ソースをそこに移動しました。私の知る限りビルドを構成しようとしましたが、得られるのは次のとおりです。
私の推測では、シンボルが DLL から適切にエクスポートされていません。-D_JNI_IMPLEMENTATION_ リンカー引数を追加しました:
linux - .so ファイル名にバージョン番号が含まれないようにする方法
qmake を使用して Linux で動的ライブラリを構築しようとしています。ここに私の .pro ファイルがあります:
sqxUiBase.pri ファイルには、ビルドする必要があるファイルのリストが含まれています。
さて、問題は、私が何をしても、結果のファイルには常に名前が付けられsqxUiBase.so.1.0.0
、多数のシンボリックリンク ( sqxUiBase.so
、sqxUiBase.so.1
およびsqxUiBase.so.1.0
) がそれを指していることです。sqxUiBase.so
ファイルだけでリンクがないようにするにはどうすればよいですか?
qt - 生成されたファイル間の依存関係を持つ qt qmake 追加コンパイラ
qmake は生成されたソース ファイルの依存関係を処理できますか?
次のようなprfファイルがあります。
この生成は正常に機能し、make 時に .h ファイルを作成します。問題は、入力ファイル ( $$IDLS
) が相互に依存しており、常に正しい順序でビルドされるとは限らないことです。app.idl
以下を含むのようなものがあります。
以下が機能するはずです
しかし、明らかにdepend_commandは実際には実行されません。
別のアイデアは、元の idl から依存関係を解析することです。
しかし、私のqmake構文が失敗しているようです。
makefile - qmakeで生成されたMakefileにカスタムターゲットを追加する方法は?
私は qmake を使って Makefile を生成しましたが、うまくいきました。ただし、生成された Makefile を編集せずに、生成された Makefile にさらに内容を追加したい場合があります。
ソース コードの横に Doxygen ディレクトリがあり、そこでドキュメントを生成するためにいくつかの doxygen コマンドを実行する必要があるとします。したがって、これをメインの Makefile のターゲットとして持つとよいでしょう。しかし、デフォルトでは、qmake はこの種の余分なものを理解していません。
それで、「doxygen」ディレクトリにセカンダリMakefileを含めるようにqmakeに指示する何かを追加したり、qmake構成に「追加のターゲット」を直接追加したりできますか?
たぶん次のようなもの:
qt - QMake: ディレクトリ内のすべてのファイルを自動的にコンパイルする
私の Qt プロジェクトでは、さまざまなヘッダー、ソース、フォーム、およびリソース ファイル用の個別の .pri ファイルを含む .pro ファイルを使用しています。ただし、新しいファイルを追加するたびに、手動で .pri ファイルに追加する必要があります。これは面倒でエラーが発生しやすい作業です。ディレクトリからすべてのファイルを「魔法のように」追加する方法はありますか?
c++ - C++ アプリケーションで間違ったライブラリ バージョンにリンクする
openssl 共有ライブラリに問題がある RHEL/CentOS 5 上の C++ バイナリのトラブルシューティングを行っています。私は C/C++ プログラミングをあまりしないので、根本的な問題を見つけるのに苦労しています。
/lib/libcrypto.so.6
問題が発生しているように見えるのは、アプリケーションが および のシンボリック リンク パスではなく、特定のバージョンの libcryptoおよびlibssl (0.9.8) にリンクしていることです/lib/libssl.so.6
。これがコンパイルされてから openssl ライブラリが更新されたため、現在は壊れています。
ldd
は、バイナリに関する次の 2 つの問題を示しています。
[編集] ソースを入手したところ、正しくビルドされました。可能な限り簡単な説明をしなければなりません.ビルドマシンは非標準ライブラリで誤って構成されており、メイクファイルは問題ありません.