web-dev-qa-db-ja.com

Chromium EmbeddedFrameworkをC ++に埋め込む方法

VisualStudioでオーディオソフトウェアプロジェクトを作成していました。クロスプラットフォームにしたいので、winformsを使用せず、空のプロジェクトを開始しました。

しかし、フロントエンド部分にHTML/CSS/JSを使用したかったので、インターネットで調べてSciterを見つけました。シンプルで使いやすかったのですが、利用できなかった多くのhtml機能を使いたかったので、それは限界に達していませんでした。そこで、chromium embedded frameworkを使用することにしました。

しかし、私はC++プログラミング、特にVisual Studioに慣れていないため、プロジェクトを機能させるためにどのファイルをプロジェクトにインポートする必要があるのか​​わかりません。最初はソースコードを使用しようとしていたので、クロスプラットフォームになりました。しかし、ソースコードをコンパイルするのは非常に難しいことがわかったので、代わりに.dllファイルを使用することにしました。そして、CEFの標準のWindowsx64ディストリビューションをダウンロードしました。

しかし、私はそれを私のプロジェクトに含める方法について文字通り混乱しています。オンラインビデオを見たことがありますが、それらはC#用であり、C++を使用しています。 .Netバージョンのチュートリアルも見ましたが、.netコントロールやwinformsライブラリを使用していないため、それを使用してGUIを作成し、javascriptとインターフェイスする方法について文字通り混乱しています。

必要なのは、c ++を使用してhtml/css/jsをロードするCEFのkisokインスタンスです(文字列値をc ++関数またはchrome API)に渡します)。Vueを使用します。 javascriptの部分でこれを簡単にするjsライブラリ。そしてjavasciptとc ++の間でデータを出し入れする方法

CEFSharpを使おうとしましたが、無残に失敗して元に戻りました。今、私はlibcef.dllや他のそのようなファイルで立ち往生していて、何をすべきか理解できません。プロジェクトにincludeファイルを追加するのに問題があります。 .dllファイルとそれらすべてのものを参照する方法が見つかりません。 C++でサードパーティのライブラリをインポートした経験はありません。

私の問題に対処するリソースまたはチュートリアルを提案してください。 (winformsや.netコントロールは使用しないでください。ネイティブのc ++コードを使用してすべてを実行したいので、後でLinuxとMacに移植したいと思います)

また、このCEFによって誘発されたコードベースをLinuxとMacにも移植できるように、何らかの方法を提案してください。

ありがとう。

5

Chromium Embedded Frameworkには、開発者が運営するフォーラムがあります: http://www.magpcss.org/ceforum/index.php 。サポートサブフォーラムのFAQ)を参照してください。

Windows、OS X、およびLinuxで利用可能なバイナリディストリビューションがあります。現在、Spotifyによってここでホストされています: http://opensource.spotify.com/cefbuilds/index.html

提供されているCEF3ファイルは、.NetではなくネイティブC++です。 .Net用のCEF3をラップするCEFSharpプロジェクトがありますが、それはC#用です。

ほとんどの人が始めるために行うことは、含まれているCEFSimpleまたは(より完全な機能を備えた)CEFClientサンプルアプリケーションを使用することです。記述されているこれらのアプリケーションは、さまざまなOSと互換性があります。これらは、コンパイル済みのChromium + CEF3DLLで使用するためのソースコードとして提供されます。

たとえば、新しいVisual Studioプロジェクトを開始し、CEFSimpleファイルをコピーして、CEF3DLLの.libにリンクします。既存のロジックに従って、OS固有の部分を分離します。

Windows for native C++では、リンカーはEXEのビルド中に.libファイルを使用します( リンク:.a、.lib、および.defファイル を参照):

Linker - Input   (edit paths to match where you copied the binary files)
..\..\cef_binary_3\Release\libcef.lib
..\..\cef_binary_3\build\libcef_dll_wrapper\Release\libcef_dll_wrapper.lib

アプリケーションを配布するには、EXE、DLL、.PAKファイル、および2つの_blob.binファイルを含めます。同じ.EXEを除く、CEFClientのサンプルバイナリバージョンのすべてのファイル。はい、zipサイズは実際には50MB以上です。これは、MicrosoftのIE Webコントロールとは異なり、ブラウザのどの部分もオペレーティングシステムに含まれていないためです。

フルスクリーンモードを実行するためのヒントについては、CEFフォーラムを検索してください。 Windowsの場合、これは、メインブラウザウィンドウの作成時にウィンドウスタイルビットWS_およびWS_EXを変更することを意味します。

8
Dave S