問題タブ [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.
qt - Qmake プロジェクトの依存関係 (リンクされたライブラリ)
多数の共有ライブラリにリンクするプロジェクトがあります。
プロジェクトAがプロジェクトBとCに依存しているとしましょう
理想的には、プロジェクト ファイルに次の依存関係を課したいと考えています。
- プロジェクト A が最後にビルドされてから B または C が再ビルドされている場合は、プロジェクト A を再ビルドします。
- 関連する構成の出力を使用します (つまり、プロジェクト A をデバッグ モードでビルドする場合は、プロジェクト B および C のライブラリのデバッグ バージョンを使用します)。
プロジェクトファイルでそのような依存関係を明示的に表現する方法を知っている人はいますか?
ubuntu - ldリンケージの問題:/ usr / bin / ld:[libraryname]が見つかりません
Qmakeを使用してUbuntu9.10で共有ライブラリを構築しています
この共有ライブラリ(A)は、別の共有ライブラリ(B)に依存しています。
プロジェクトBは正常にビルドされました。
プロジェクトAの.proファイルでは、私のLIBS変数は次のようになります。
(ライブラリのバージョンが異なるため、完全なshlib名を使用しました。)
いずれにせよ、プロジェクトAをビルドしようとすると、リンクの段階で壊れて、エラーメッセージが出力されます。
エラーメッセージから、ldがlibdatelibファイルを見つけることができないと文句を言っていると思ったので、手動で/ usr /lib/にコピーしました。
ただし、それでも問題は解決せず、同じエラーメッセージが表示されます。
誰もがこれを修正する方法を知っていますか?
[編集]
私はgccを使用してビルドするのはまったく新しいです。シンボリックリンクを作成する方法は知っていますが、lnkコマンドにどのパスを使用しますか?リンクしたいファイルは/home/ username / work / cppdev / datelib/binにあります。
また、私が使用しているビルドシステム(qmake)は、ビルドの一部としてシンボリックリンクを自動的に作成するため、/ home / username / work / cppdev / datelib/binフォルダーに次のファイルが既にあります。
- libdatelib_release.so(シンボリックリンク)
- libdatelib_release.so.1(シンボリックリンク)
- libdatelib_release.so.1.0(シンボリックリンク)
- libdatelib_release.so.1.0.0(共有ライブラリ)
シンボリックリンクが非常に多い理由(ポイントは何ですか?)と、共有ライブラリに直接リンクできないのにシンボリックリンクを経由する必要がある理由を説明するために、別の質問をする必要があるかもしれません。私はいくつかのオンラインドキュメントを読みましたが、これまでに見たものは、実際の技術的な理由ではなく、ディクタム/伝統のように見えます。Linuxでリンクするときにこのレベルの抽象化が必要な理由。
qt - Linuxでqmakeを使用してビルドする-qmakeがQtCoreおよびQtGuiにリンクしないようにする方法
別の共有ライブラリ(QT依存性なし)[ライブラリA]にリンクする共有ライブラリ(QT依存性なし)[ライブラリB]があります。
QmakeとQTCreator1.3を使用しています。問題は、ライブラリBをビルドして実行可能ファイルでlddを実行すると、QtCoreとQtGuiにリンクされ、どちらも不要なファイルを大量に取得しているため、実行可能ファイルの読み込みに時間がかかり、不要なファイルが生成されることです。依存関係。
qmakeがこれらのライブラリをライブラリBにリンクするのを防ぐために、私はほぼすべてを試しました。
ライブラリBのプロジェクトファイルのスニペットを以下に示します。
Ubuntu9.10でQtCreator3を使用しています
QTはバージョン4.5.2です
c++ - VisualStudio.slnプロジェクトで「プロジェクトの依存関係」を生成するようにqmakeを取得する方法
私はいくつかのライブラリのqmakeビルドとそれらに依存するアプリを持っています。subdirsテンプレートを使用すると、qmakeに.slnファイルを出力させることができます。これは、VC2008での私の好みにほぼ一致します。説明したすべての方法でターゲット間の依存関係を指定しましたが、.slnファイルに「プロジェクトの依存関係」がないため、これらを手動で追加する必要があります。
これまでに試しました
正しい順序で無駄に。
同様に、より難解な構文:
これも機能しません。slnをロードしても、依存関係はまったく表示されません。
qt - qmake を使用して .sln/.vcproj を生成する方法
私はmain.cpp
フォルダc:\test
にいて、次のことを行います:
答えは次のとおりです。
しかし、makeファイルは必要ありません。.vcproj が必要です!
環境: Windows XP Pro SP3、MSVC 7.1 および 8.0。QtはC:\Qt\2010.02
(LGPL版)にインストールされています。コマンドは Qt コマンド プロンプトから実行されます。
どうしたの?.sln/.vcproj を生成するには? MSVC 7.1 および 8.0 用に生成できますか?
c++ - Qt、C++、および Obj-C/Cocoa を混在させる方法
Mac で純粋な C++/Qt プロジェクトを使用していますが、Cocoa API でのみ使用できるいくつかのメソッドを呼び出す必要があることがわかりました。ここにリストされている次の手順:
http://el-tramo.be/blog/mixing-cocoa-and-qt
「.m」ファイルに C++ クラスの実装があります。テストとして、私の「foo.m」ファイルには次のコードが含まれています (#include
わかりやすくするために、関連するメソッドは削除されています)。
どうやら、.m ファイルを .m という qmake 変数に追加する必要があるようですOBJECTIVE_SOURCES
。私のプロジェクト .pro ファイルは次のようになります。
ただし、プロジェクトをコンパイルしようとすると、次のエラーが発生します。
foo.h:4expected '=', ',', ';', 'asm' or '__attribute__' before 'foo'
class foo
これは、ヘッダー ファイル内のファイルを指しています。.m ファイルからすべての cocoa 呼び出しを削除し、.m ファイルをSOURCES
Qt .pro ファイルのセクションに移動すると、すべてが期待どおりに機能します。
Qt 4.6.0 を使用しています。
私の質問は次のとおりです: Cocoa 呼び出しを Qt/C++ と統合するための推奨される方法は何ですか? また、上記の例で何が間違っていますか?
qt - Qtプラグインが機能しない
カスタムウィジェットプラグインを作成しました。プラグインはQtCreatorと正常に統合されますが、プログラムをコンパイルすると、次のエラーが発生します。
「test.h:そのようなファイルやディレクトリはありません」
ここで、test.hはカスタムウィジェットの名前です。私は何が間違っているのですか?これは、アプリケーションの*.proファイルです。
これはプラグインの*.proファイルです:
qt - QMake.proファイルで異なるデバッグ/リリース出力ディレクトリを指定する方法
Qtプロジェクトがあり、ソースツリーの外にコンパイルファイルを出力したいと思います。
私は現在、次のディレクトリ構造を持っています。
構成(デバッグ/リリース)に応じて、ビルド/デバッグまたはビルド/リリースディレクトリの下のビルドディレクトリ内に結果のファイルを出力したいと思います。
.proファイルを使用してそれを行うにはどうすればよいですか?
python - qmakeを使用してOSX10.6で.dylibではなく.soとしてリンクする方法
SWIGを使用して、Pythonで使用するC++コードをラップしようとしています。ここで説明するように、C++コードを.so
ファイルではなくファイルにリンクする必要があるよう.dylib
です。スレッドは、リンクlibtool
するフラグと組み合わせて使用することを提案しています-module
が、私はqmakeを使用しており、それを行う方法についてより正確な指示が必要です。
私の.proファイル(qmake用)は次のようになります。
私は最初に呼び出し、次にswig
Eclipseビルダーを使用しています。qmake
make
コンパイルとリンクは正常に機能しますが、がbin/_mylibname.dylib
残り、Pythonアプリケーションを実行すると、ステートメントのインポート_mylibname
が失敗します。
誰かがqmakeに*.so
代わりにを構築させる方法を知っていますか?*.dylib
おそらく使用してlibtool
います(または私が気にするすべての他の方法)?私のプラットフォーム:
- Mac OS X Snow Leopard(10.6)
- Python 2.6
- SWIG 1.3.31
- qmake2.01aとQt4.6.2
- g ++ i686-apple-darwin10-g ++-4.2.1
私はリンクの問題についてあまり知識がないので、優しくしてください:-)
オーレ
c++ - エラーを起こす: C++ スクリプトにインクルードがありませんか?
SOで数分前にこのスクリプトをコンパイルする方法について助けを得ましたが、なんとかエラーが発生しました。私は C++ の初心者であり、以下のエラーの意味や修正方法がわかりません。
これが問題のスクリプトです。部品を変更したことを示唆する一部のユーザーからのコメントを読みました#include
が、スクリプトの内容とまったく同じようです。このコメントを参照してください。
Fedora Core 10 マシンに Web キットがあります: qt-4.5.3-9.fc10.i386 qt-devel-4.5.3-9.fc10.i386
助けてくれてありがとう