首页 > 技术文章 > 编译libcef_dll_wrapper.lib

tingtaishou 2021-08-10 10:08 原文

 

1.已管理员身份运行CMake,分别添加cef路径,点击Configure选择vs版本,如果使用vs2013构建项目则选择vs2013,有红色则再次点击Configure,点击Generate,则生成了cef.sln编译项目,使用vs2013打开cef.sln,选择libcef_dll_wrapper项目右键生成,则在目录libcef_dll_wrapper/Realse下生成libcef_dll_wrapper.lib,则将这个库添加到主项目中;

2.如果cmake时选择的是vs2019或不是vs2013的其他编译器,则主项目编译时会报错:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”;

3.报错:error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_DynamicRealse”不匹配值“MD_StaticRealse”(simple_app.obj中), F:\Brower\qtmain.lib(qtmain_win.obj)。解决方法:附加依赖库中删除qtmain.lib。

4.报错:error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRealse”不匹配值“MD_DynamicRealse”的解决办法。右键->属性->c/c++->代码生成->运行库;将多线程调试Dll (/MDd) 改成多线程(/MT) ;

多线程调试Dll (/MDd) 对应的是MD_DynamicDebug

多线程Dll (/MD) 对应的是MD_DynamicRelease

多线程(/MT) 对应的是MD_StaticRelease

多线程(/MTd)对应的是MD_StaticDebug

参考:(1条消息) error LNK2038: 检测到“RuntimeLibrary”的不匹配项的解决办法_吃饲料的憨胖子的博客-CSDN博客_检测到runtimelibrary的不匹配项

推荐阅读