問題タブ [qbs]
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.
qbs - ルール項目: 再実行する必要があるかどうかを確認する方法は?
私の場合、Rule
入力ファイルの変更ではなく、環境の変更 (作業ディレクトリの svn リビジョン) で呼び出す必要があります。したがって、に応じてalwaysRun
、私のルールは決して呼び出されない (ビルドの失敗) または常に呼び出される (依存関係の再構築を強制する)。
私が必要とするのは次のいずれかです:
Rule
実行する必要があるかどうかを確認する方法- 依存関係が必要な場合にのみ再構築されるように、何らかの方法でルール出力をキャッシュする方法
c++ - MacOS 上の Qbs StaticLibrary
既存のプロジェクトを qmake から qbs に移動しようとしていますが、これまでのところすべて正常に動作していますが、MacOS ではそのプロジェクトの Google テスト静的ライブラリにリンクできませんが、Windows では正常に動作します。
MacOSで私は得る:-1: error: symbol(s) not found for architecture x86_64
googletest.qbs:
test.qbs:
c++11 - qbs build: TypeError: 式 'lib' [undefined] の結果はオブジェクトではありません
私は奇妙な問題を抱えています:
- いくつかの静的ライブラリ(A1、A2、A3という名前)を生成するcmakeで構築されたサブモジュールがあります(私はここに従いました)
- A をラップするソース コードを書き、それを qbs によって静的ライブラリ B としてビルドします。
- テストを実行するために B に依存するプログラム C があります
qbs コマンド ラインでビルドすると、問題なく動作します。ただし、Qt Creator 4.3.1 でビルドすると、次のように報告
creating libB.a
TypeError: Result of expression 'lib' [undefined] is not an object
The following product could not be built for configuration qtc_Desktop_de89834-debug:
C
されます。エラーをクリックすると、Qt/Qt Creator.app/Contents/Resources/qbs/share/qbs/modules/cpp/gcc.js (行379)。ログ行を追加してログに記録しようとしました (つまりconsole.warn(libraryDependencies.libraries
)。その後、ライブラリの配列をログアウトし
libA1.a,libA2.a,libA3.a,libB.a,,
ます。最後に空のものが表示される理由がわかりません。C のビルドには A1、A2、A3、および B で十分であることに注意してください。
ここにいる誰かが助けてくれますか?MacOSでQt 5.9.1を使用しています
更新: すべてが Qt Creator 4.5 で動作するため、Qt Creator 4.5 に移行するだけです :))