gpt4 book ai didi

c++ - 如何在 C++ 中嵌入 Chromium 嵌入式框架

转载 作者:行者123 更新时间:2023-12-04 01:06:15 29 4
gpt4 key购买 nike

我正在 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 控件,我想使用 native c++ 代码完成所有操作,因为稍后我想将其移植到 linux 和 mac)

另外请给我一些建议,以便我可以使这个 CEF 诱导的代码库也可移植到 linux 和 mac。

谢谢。

最佳答案

Chromium 嵌入式框架在此处有一个由其开发人员运行的论坛:http://www.magpcss.org/ceforum/index.php .请参阅支持子论坛中的常见问题解答。

有适用于 Windows、OS X 和 linux 的二进制发行版。他们目前在此处由 Spotify 托管:http://opensource.spotify.com/cefbuilds/index.html

提供的 CEF3 文件是 native C++ 而不是 .Net。有一个 CEFSharp 项目为 .Net 包装了 CEF3,但它适用于 C#。

大多数人开始使用 CEFSimple 或(功能更齐全的)CEFClient 示例应用程序。这些编写的应用程序与不同的操作系统兼容。这些作为源代码提供,可与已编译的 Chromium + CEF3 DLL 一起使用。

例如,您启动一​​个新的 Visual Studio 项目并复制 CEFSimple 文件,并链接到 CEF3 DLL 的 .lib。按照现有逻辑分离出特定于操作系统的部分。

在原生 C++ 的 Windows 中,链接器在构建 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 文件。来自 CEFClient 示例二进制版本的所有文件,除了相同的 .EXE。是的,压缩后的大小确实是 50+ MB!这是因为与 Microsoft 的 IE Web 控件不同,浏览器的任何部分都不包含在操作系统中。

在 CEF 论坛中搜索有关运行全屏模式的提示。对于 Windows,这意味着在创建主浏览器窗口时更改窗口样式位 WS_ 和 WS_EX。

关于c++ - 如何在 C++ 中嵌入 Chromium 嵌入式框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44849254/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com