2016-5-31 问题及解决
1.執行linux版本時,碰到官方默認發布的cef3二進制包,不支持在動態庫中初始化cef3
現象:啟動時報一下錯誤->
FATAL:content_main_runner.cc(662)] Check failed: base::allocator::IsAllocatorInitialized()
原因:
在共享庫中初始化cef3時程序不加載libcef.so,這涉及到cef3的內存管理框架,不能使用手動加載的方式解決
解決方法:
1)項目啟動前使用以下終端命令配置運行環境
export LD_PRELOAD=/path/to/libcef.so
預加載libcef.so,然后再執行我們的程序
缺點:不夠人性化,需要安裝時候調整環境變量
優點:實施簡單,沒有附加的項目調整
2)修改cef3的內存管理框架(只需修改一些配置),重新編譯cef3,代價是降低程序的執行效率
缺點:降低性能,編譯難度大,資料少,不利于和cef3官方同步
優點:項目更獨立,可以避免一些項目結構的調整
3)放棄動態庫的形式初始化cef3,采用主程序形式初始化cef3
缺點:
項目結構需要大調整
需要手動加載coreclr
項目主次對換,原項目以coreclr為主(提供原生.net core開發體驗),cef3為附屬(更獨立),現以cef3為主(無法脫離),coreclr為附屬(.net core開發體驗降低)
優點:解決coreclr的終端啟動問題,不需要做命令行窗口轉接,coreclr可脫離
狀態:
2016-6-4
已采用方案3解決此問題
轉載于:https://www.cnblogs.com/esrin/p/5970666.html
總結
以上是生活随笔為你收集整理的2016-5-31 问题及解决的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Android setBackgroun
- 下一篇: 表单打印功能
