我在Visual Studio中创建了一个音频软件项目。我想让它跨平台,所以我没有使用winforms,而是我开始空项目。
但是我想在前端部分使用HTML / CSS / JS,我在互联网上查找了Sciter
。它简单易用,但不符合标记,因为我想使用许多不可用的html功能。所以我决定使用chromium embedded framework
。
但由于我是C ++编程的新手,特别是Visual Studio,我无法弄清楚我需要将哪些文件导入到我的项目中才能使其正常工作。起初我试图使用源代码,这样就可以使它跨平台。但我发现编译源代码非常困难,所以我决定使用.dll
文件。所以我下载了CEF的标准Windows x64发行版。
但我对如何在我的项目中包含它感到困惑。我见过在线视频,但它们是用于C#而我使用的是C ++。我也看过.Net版本的教程,但由于我没有使用任何.net控件或winforms库,我对如何使用它生成GUI以及与javascript的接口感到困惑。
我想要的只是CEF的kisok实例,我将使用c ++加载html / css / js(通过将字符串值传递给c ++函数或chrome API)。我将使用Vue.js库在javascript部分更容易。以及在javascipt和c ++之间输入和获取数据的一些方法
我尝试使用CEFSharp
,但我失败了并且转回了。
现在我被libcef.dll
和其他此类文件困住了,我无法理解该怎么做。我在将include
文件添加到项目时遇到问题。我找不到引用.dll文件和所有这些东西的方法。我没有使用c ++导入第三方库的经验。
请建议我一个资源或一些解决我的问题的教程。 (请不要使用winforms或.net控件,我想使用本机c ++代码执行所有操作,因为稍后我想将其移植到linux和mac)
另外请给我一些建议,这样我就可以将这个CEF引导的代码库移植到linux和mac上。
感谢。
答案 0 :(得分:5)
Chromium Embedded Framework有一个由其开发人员在此运行的论坛:http://www.magpcss.org/ceforum/index.php。请参阅支持子论坛中的常见问题解答。
有适用于Windows,OS X和Linux的二进制发行版。它们目前由Spotify托管:http://opensource.spotify.com/cefbuilds/index.html
提供的CEF3文件是本机C ++而不是.Net。 CEFSharp项目包含CEF3 for .Net,但它适用于C#。
大多数人要做的就是使用CEFSimple或(功能更全面的)CEFClient示例应用程序。编写的这些应用程序与不同的操作系统兼容。这些是作为源代码提供的,用于已经编译的Chromium + CEF3 DLL。
例如,您启动一个新的Visual Studio项目并复制到CEFSimple文件中,并链接到CEF3 DLL的.lib。按照现有逻辑分离出特定于操作系统的部分。
在Windows for native C ++中,链接器在构建EXE时使用.lib文件(请参阅Linking : .a, .lib and .def files):
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的示例二进制版本中的所有文件。是的,拉链尺寸真的是50+ MB!这是因为与微软的IE网页控件不同,操作系统中不包含浏览器的任何部分。
在CEF论坛中搜索有关运行全屏模式的提示。对于Windows,这意味着在创建主浏览器窗口时更改窗口样式位WS_和WS_EX。