2

C++ でクロス プラットフォーム用の GUI アプリケーションを作成する必要がありますが、C++ の GUI ライブラリのほとんどは少し退屈で、C#/.NET に精通しているため、GTK を使用した Vala コードのコードは非常に興味深いものであり、他の方法と比較して少し簡単であることがわかりました。どうすれば VALA と C++ を混同できるでしょうか。私は、C++ のフロント エンドとコードの残りの部分に VALA を使用することを意味しました。

4

4 に答える 4

10
  1. C++ から vala で生成されたコードを呼び出すことはできますが、それは単純な C であり、C++ から使用するのはかなり面倒です。
  2. Vala は C コードしか呼び出せないので、すべての C++ コードをextern "C"1 つにラップする必要があります。
  3. Gtkmm を介して C++ から Gtk を使用することは、Vala から使用するよりも難しくなく、Qt もそれほど難しくありません。
  4. Qt は、実際にクロスプラットフォームの唯一のオプションです。Gtk は MacOS X でネイティブに動作するようになりましたが、まだ安定していません。また、Qt はほとんどのスマートフォン プラットフォームでも動作しますが、Gtk は動作しません。
  5. Vala は C# にそれほど似ておらず、いくつかの癖があります。

一般に、代わりに Qt を使用することをお勧めします。

于 2012-01-11T13:10:50.313 に答える
1

ValaはGObject型システムを多用してCにコンパイルします。これは、C++のgtkmmの一部であるglibmmを使用して使用できます。しかし、gtkmm(つまりGtkBuilderを使用)を使用してから…</p>を使用することもできます。

于 2012-01-11T09:59:32.567 に答える
0

あなたの質問に完全には答えられないかもしれませんが、monoを使用して C# を c++ に埋め込む場合、Windows から直接GTK#を使用できます (また、Mac および Linux でもコンパイルおよび実行されます)。

その後、フロント エンドに C#/GTK# を使用し、残りの部分を C++ でコーディングできるようになります。

于 2012-01-11T09:52:56.760 に答える
-4

要件を満たしている場合は、QT を使用できます。Qt は、クロスプラットフォームのアプリケーションおよび UI フレームワークであり、C++ プログラミング用の API も備えています。 http://developer.qt.nokia.com/doc/qt-4.8/gettingstartedqt.html

于 2012-01-11T12:08:14.180 に答える