問題タブ [moc]

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 投票する
1 に答える
691 参照

model - カーン プロセス ネットワークとアクター モデルの違い

Kahn Process Network と Actor Model の実際の違いは何だろうと思っていました。実際、定義を調べてみると、どちらも計算エンティティ (どちらの場合もアクターと呼ばれます...) が無制限のバッファーを介してメッセージを交換するモデルです。さらに、どちらの場合も、プロシージャは常にメッセージを送信できるため、これらのメッセージは非同期で送信されます。受信者が受信できるようになるまで待つ必要はありません。

したがって、私の質問は、実際の違いはありますか?

どうもありがとう !

0 投票する
3 に答える
5440 参照

ios - 2 つのビュー間のナビゲーション コントローラーである場合に、appDelegate から最初の ViewController に managedObjectContext を渡す方法

私は、次の問題をどのように解決できるかを調査し、理解しようとして、3日間以上キーボードに頭を悩ませてきました。

次のようなストーリーボードがあります。

最初のアプリ起動矢印 -> ナビゲーション コントローラー -> メイン ビュー コントローラーへ。

私の appDelegate は managedObjectContext を作成しており、いくつかのエンティティにデータを入力しています (テスト目的のみで、外部ソースと統合する準備ができたら削除されます)。これはうまくいきます。今私の問題は、ナビゲーションコントローラーが邪魔になっているため、appDelegate から最初の ViewController に MOC を渡す方法がわからないことです。appDidFinish メソッドの現在のコードは次のようになります。

ストーリーボードのアプリ起動矢印が mainMenuViewController を指すように変更すると、コードが機能するようになりましたが、すべてのビューでナビゲーション バーが失われます。また、MOC を mainMenu から別のビューに渡す方法も知っていますが、- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)senderappDelegate から MainViewController への最初のパスを行う方法がわかりません。これは、ナビゲーション コントローラーが 2 つの間にあるためです。 .

私はすでにこのサイト(および他のサイト)で多数のスレッドを検索しましたが、「タブ付きアプリケーション」の解決策しか見つけられず、他の人はオブジェクトをシリアル化することを望んでいますが、私の目的ではできません。(少数のビューのみが MOC を受け取り、他のビューは、1 つのビューが作成し、固有のビューで特定の目的に合わせて調整されるように変更したデータを渡します)

iOS および Objective-C でのこのナブへのヘルプは大歓迎です。前もって感謝します。

編集:私が得るエラーは、「キャッチされていない例外のためにアプリを終了しています... [UINavigationController setManagedObjectContext] 認識されないセレクターがインスタンスに送信されました...

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

c++ - Q_OBJECT マクロが他のマクロによって削除された場合、MOC ファイルをコンパイルできません: ヘッダー ファイルに含まれていません

非 Qt バージョンの Qt/C++ プログラム (-DDISABLE_MYMODULE) をコンパイルすると、次のコンパイラ エラーが発生します。

GNU make を使用しています (qmake ではありません)。私の Makefile は、モジュールごとに 2 つのオブジェクト ファイルをコンパイルします。1 つは .cpp ソース ファイルから直接、もう 1 つは .moc.cpp ソース ファイルからの MOC オブジェクト ファイル (これは機能しません) で、両方とも g++ を使用します。この .moc.cpp ソース ファイルは、.hpp ヘッダーから MOC によって作成されます (このプロセスはエラーをスローしません)。

問題のヘッダー ファイルは次のようになります。

問題のマクロを設定しなければ、すべてがうまくコンパイルされます(後でリンクして実行されます)。設定しても、QTの問題マクロをコメントアウトすると、問題なくコンパイルされます(Qt以外のバージョンをビルドします)。

Q_OBJECT をどの MOC に置き換えるかは正確にはわかりませんが、まだ DISABLE_MYMODULE 内にあるため、プリプロセッサによって削除されるべきではありませんか?

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

c++ - 空のファイルを生成する QT moc.exe、type_traits に関連するエラー

QT Creator で QT プロジェクトをビルドしようとしましたが、リンク エラーが発生しました。

何らかの理由でmoc.exe、メタオブジェクト コンパイラである が空の moc_*.cpp ファイルを作成し、エラー メッセージが表示されました。

mocQT Creatorで実行されたフラグを使用して、コマンドラインで実行してみました:

そしてそれは同じエラーを返しました。いくつかのフラグを 1 つずつ削除してみて、 に絞り込みました-I"c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include"。何らかの理由で、そのディレクトリがインクルード パスにある場合、「関連するクラスが見つかりません」というエラーが表示され、空の .cpp ファイルが生成されました。ただし、そのディレクトリがインクルード パスにない場合、moc.exe は正常に動作しました。

を含むエラー メッセージが表示されたため、その場所にあるファイルを認識されないように:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include/type_trait(0)名前を変更してみました。type_traits私がそれをしたとき、moc.exeは再び正常に動作しました(しかし、type_traitsが私が含めた標準ライブラリファイルのどこかに含まれているため、実際には失敗しました). したがって、エラーは type_traits のどこかで発生しています

について私が知っていることtype_traitsはほとんどありませんが、オブジェクトに関するコンパイル型情​​報を取得することと関係があると思います。しかし、それが原因でメタオブジェクト コンパイラがエラーになる理由がわかりません。なぜこれを行うのですか?moc は type_traits で何をしているのか、なぜそれが失敗しているのか?

これは私にとって非常に不可解であったため、誰かが提供できる洞察に非常に感謝しています。

minecraftlauncher.hppファイル:

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

visual-studio-2010 - qtmsbuildで複数のファイルを並行して移動する

Qt Visual Studioプラグインを使用すると、ほとんどすべてのことを無意識のうちに処理しているように見えます。残念ながら、msbuildのCustomBuildステップを使用してmocを実行します。これにより、次々とシリアルモックが発生します。msbuildにそれらを並行して実行するように説得する方法はありますか?私は7つのコアが私のように月桂樹の上に座っていることにうんざりしています。

msbuildのBuildInParallelを見たことがありますが、ここでそれを適用する方法がわかりません。

msbuildスニペット:

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

qt - waf : コンパイラ フラグを qt の moc に渡す

librarywafを使用するプロジェクトを実行しようとしています。問題boostを克服するには、 に渡して引数を渡す必要があります。asでやってみました-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDEDMOCwscript

しかし、それは失敗しました。MOCusingに引数を渡す方法はwaf?

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

xcode - XcodeでQ_OBJECTマクロを使用してヘッダーファイルをコンパイルするにはどうすればよいですか?

Qtフレームワークに対してリンクするC++プロジェクトをXcodeで作成します。helloworldプログラムはうまく機能します。QObjectから派生したクラスを追加してQ_OBJCETマクロを追加すると、リンクエラーが発生します。

クラスは

MyObject.h

MyObject.cpp

最初にmocを使用してMyObject.hをコンパイルし、生成されたmoc_MyObject.cppをXcodeプロジェクトに追加する必要があることはわかっています。

Microsoft Visual Studioでは、このヘッダーファイルをmocカスタムツールでコンパイルするように構成できます。そして、生成されたcppファイルをVSプロジェクトに追加します。

しかし、これはXcodeです。私の質問は次のとおりです。Q_OBJECTマクロを含むヘッダーファイルをコンパイルするための同等の手段がXcodeにありますか?

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

c++ - qt に特定のヘッダー インクルード ファイルを無視させる

qt で作成された実行中のプロジェクトがあります。ビルドの目的で、waf ビルド ツールを使用しています。同じプロジェクトをwafから起動して実行するには、追加する必要があります

未定義の参照を避けるために、いくつかのファイルの最後に。しかし、これらのインクルードがqtでコメントされていない場合、ファイルエラーが見つかりません。Qt に特定のファイル インクルードを無視させるにはどうすればよいですか。私はこのような何かがトリックを行うべきだと思った

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

visual-studio-2010 - VS2010 プロジェクトで Q_OBJECT を使用すると、未解決の外部が発生します

Visual Studio 2010 Ultimate プロジェクトで Q_OBJECT マクロを使用しようとすると、未解決の外部エラーが発生します。

QMaker を使用して同様のプロジェクトがあり、クリーンなプロジェクトを実行して qmake を再実行することで解決しました。問題は、VS に「Qmake」ボタンがないことです。

私はこのような記事をいくつか読んだことがありますが、彼らが私に指示したことはすべて実行しました。いくつかの .cpp といくつかのヘッダー ファイルの既存のプロジェクトがあり、.pro ファイルを作成してコードをそこに移動することは避けたいので、実際には役に立ちませんでした。

VS Qt アドインをインストールしました。VS パネルに新しいクールな「Qt」ボタンが表示されましたが、未解決の外部要素には対応していませんでした (おそらく、適切に使用する方法がわかりません)。

Application.h ファイル (Q_OBJECT を持つ唯一のファイル) で VS のカスタム ビルド ツールを使用して moc を実行しましたが、それでも解決しませんでした:

問題の原因と解決方法を教えてください。

0 投票する
3 に答える
1976 参照

qt - テンプレートアクセサーを使用したQtQ_PROPERTY

冗長性を維持しながら、コードの再利用をもう少し増やすことを目指しています。

次のサンプルコードを検討してください。

これは、期待どおりにコンパイルおよび実行されます。

なぜ私がそれを望むのか疑問に思っている場合-プロパティのセット、DESIGNABLEなどを想像してくださいが、同じ「クラス」に分類されます-その場合、列挙型テンプレートタイプのアクセサを使用して、別々のプロパティを持ちたいと思います。

プロパティ定義のコメントを解除すると、次のmocエラーが発生します。

テンプレートとモックを適切にミックスする方法について何かアイデアはありますか?


cmannet85のコメントに答え、さらに洞察を追加するには-はい、そのmoc呼び出しはmoc_test.cppから生成されmoc.hます。

それをさらにテストして実証するために、別のプロパティを追加しました

そして、前後のmoc_test.cppの違いは次のとおりです。

mocがbar<1>ステートメント全体をswitchステートメントにコピーすることを妨げるものはまったくありませんQMetaObject::ReadPropertyが、どういうわけか<>テンプレートタグのbarfsです。