Shaderc(来自柯南)在窗口中没有链接

Shaderc (from conan) not linking in windows

提问人:Makogan 提问时间:1/20/2022 更新时间:1/20/2022 访问量:147

问:

我正在尝试在调试模式下构建一个使用 conan 进行依赖项管理的项目。

大多数依赖项似乎链接良好,但 shaderc 失败并出现错误:

shaderc.lib(shaderc.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in winblows.cpp.obj [C:\Users\Makogan\Documents\neverengine\buildvs\[email protected]]
shaderc.lib(shaderc.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in winblows.cpp.obj [C:\Users\Makogan\Documents\neverengine\buildvs\Wi
[email protected]]

当我在网上查看人们建议在调试模式下重建库时,我认为我尝试过:

conan install . -if buildvs -s build_type=Debug -s compiler.runtime=MD -s compiler="Visual Studio" -s compiler.version=17 --build=missing

但错误仍然存在。

我能做些什么来链接它?

C++ Windows 链接器错误 Conan

评论

0赞 drescherjm 1/20/2022
该错误表示您混合了 Debug 和 Release。库需要与应用程序的配置相同。
0赞 drescherjm 1/20/2022
compiler.runtime=MD我相信因此应该在调试配置中。看起来设置正在尝试在调试模式下使用发布运行时。compiler.runtime=MDd
0赞 Makogan 1/20/2022
不幸的是,无论我使用2个中的哪一个,我都会得到完全相同的错误。:\
0赞 drescherjm 1/20/2022
你可能有错误的二进制文件。应该有不同/单独的二进制库用于调试和发布。如果我没看错,您的项目尝试使用的那个是在发布模式下编译的,但您正在尝试在调试模式下构建您的 WinBlows 项目,这会导致冲突。shaderc.lib
0赞 Makogan 1/20/2022
我最终删除了所有柯南和我自己的目录,并从头开始重建了所有内容。似乎奏效了

答: 暂无答案