CEF源码中CMakeLists.txt 有很多个,使用哪个CMakeLists.txt
时间: 2023-10-29 11:22:07 浏览: 68
在 CEF(Chromium Embedded Framework)源码中,有多个 CMakeLists.txt 文件,每个文件都负责不同的构建任务。要确定使用哪个 CMakeLists.txt 文件,您需要明确您的构建目标和环境。
通常,CEF 的主要 CMakeLists.txt 文件位于 `cef/CMakeLists.txt` 或者 `cef/CMakeLists.txt.in`。这个文件会引导整个项目的构建过程,包括生成库、生成可执行文件和安装等任务。
如果您只是希望构建 CEF 库,可以使用 `cef/CMakeLists.txt` 文件。如果您希望自定义 CEF 构建过程,您可以查看其他子目录中的 CMakeLists.txt 文件,根据您的需求进行配置和修改。
请注意,具体使用哪个 CMakeLists.txt 文件还取决于您的项目结构和特定需求。建议在阅读相关文档和了解项目结构后,根据您的构建需求来选择合适的文件。
相关问题
CEF源码根目录只找到CMakeLists.txt.in没有找到CMakeLists.txt
你好!CEFs源码根目录通常应该包含CMakeLists.txt文件,用于构建CEF项目。确保你已正确下载了CEFs源码,并确认你正在查看正确的目录。
如果你只找到了CMakeLists.txt.in文件,这可能意味着你使用的是CEF的源码模板或示例项目。你需要根据模板或示例项目的指导进行进一步操作,以生成CMakeLists.txt文件。
如果你确定已正确下载了CEFs源码,并且仍然无法找到CMakeLists.txt文件,请确保你没有意外地删除或移动了它。你可以尝试重新下载或重新克隆CEFs源码,并再次检查根目录。
如果问题仍然存在,请提供更多的上下文信息,以便我能够更好地帮助你解决问题。
我想使用CefSharp.Wpf 设置多个浏览器隔离Cookie
您好,针对您的问题,CefSharp.Wpf 是一个基于 Chromium Embedded Framework(CEF)的 .NET 库,用于在 WPF 应用程序中嵌入浏览器。要实现多个浏览器隔离 Cookie,您可以在代码中创建多个 CefSharp.BrowserSubprocess 对象,并为每个对象设置独立的 cookie 存储路径。
具体实现步骤如下:
1. 在代码中创建多个 CefSharp.BrowserSubprocess 对象,例如:
```
var browser1 = new CefSharp.Wpf.ChromiumWebBrowser();
var browser2 = new CefSharp.Wpf.ChromiumWebBrowser();
```
2. 设置每个浏览器的 cookie 存储路径,例如:
```
browser1.BrowserSettings = new CefSharp.BrowserSettings
{
ApplicationCache = CefState.Disabled,
WebSecurity = CefState.Enabled,
FileAccessFromFileUrls = CefState.Enabled,
UniversalAccessFromFileUrls = CefState.Enabled,
DefaultEncoding = "UTF-8",
JavaScript = CefState.Enabled,
JavaScriptAccessClipboard = CefState.Disabled,
JavaScriptCloseWindows = CefState.Disabled,
JavaScriptDomPaste = CefState.Disabled,
LocalStorage = CefState.Enabled,
Plugins = CefState.Enabled,
RemoteFonts = CefState.Enabled,
WebGl = CefState.Enabled,
WebAudio = CefState.Enabled,
FileAccessFromUrls = CefState.Enabled,
ImageLoading = CefState.Enabled,
TextAreaResize = CefState.Enabled,
WebSecurityEnabled = true,
CefCommandLineArgs = new Dictionary<string, string>
{
{ "disable-gpu", "1" },
{ "disable-gpu-compositing", "1" },
{ "disable-software-rasterizer", "1" }
},
PersistSessionCookies = true,
FilePath = @"C:\Users\user1\AppData\Local\Temp\cefsharp_cookies1"
};
browser2.BrowserSettings = new CefSharp.BrowserSettings
{
ApplicationCache = CefState.Disabled,
WebSecurity = CefState.Enabled,
FileAccessFromFileUrls = CefState.Enabled,
UniversalAccessFromFileUrls = CefState.Enabled,
DefaultEncoding = "UTF-8",
JavaScript = CefState.Enabled,
JavaScriptAccessClipboard = CefState.Disabled,
JavaScriptCloseWindows = CefState.Disabled,
JavaScriptDomPaste = CefState.Disabled,
LocalStorage = CefState.Enabled,
Plugins = CefState.Enabled,
RemoteFonts = CefState.Enabled,
WebGl = CefState.Enabled,
WebAudio = CefState.Enabled,
FileAccessFromUrls = CefState.Enabled,
ImageLoading = CefState.Enabled,
TextAreaResize = CefState.Enabled,
WebSecurityEnabled = true,
CefCommandLineArgs = new Dictionary<string, string>
{
{ "disable-gpu", "1" },
{ "disable-gpu-compositing", "1" },
{ "disable-software-rasterizer", "1" }
},
PersistSessionCookies = true,
FilePath = @"C:\Users\user1\AppData\Local\Temp\cefsharp_cookies2"
};
```
3. 将浏览器对象添加到 WPF 窗口中,例如:
```
grid.Children.Add(browser1);
grid.Children.Add(browser2);
```
通过以上步骤,您就可以实现多个浏览器隔离 Cookie 的功能了。需要注意的是,每个浏览器的 cookie 存储路径应该是独立的,以避免 cookie 冲突。