AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

Linker Errors when Building on Win64 - Problem with yaml-cpp and OIIO

Open
#2,141 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.1k
Forks
503
PR merge metrics
No merged PRs in 30d

Description

Hello,
i am experiencing issues when building OCIO on several windows machines and several build configs. I tried building from scratch, with vcpkg and also as part of the OpenRV build script, which uses OCIO as an dependency.

The usual error message tells of a Linker missmatch connected to yaml-cpp. I have little to no experience with CMAKE, but at least some of the errors seem to point towards multiple instances of the yaml-cpp lib being linked.

The main culprit could be oiio, since I have not been able to build any OIIO version >= 2.1. If I should move this issue to that repo, please tell.

Thanks for any help.

-----------------------------------------------
Console output:

`Imath-3_1.lib(half.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '
2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
Imath-3_1.lib(half.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't matc
h value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.
vcxproj]
pystring.lib(pystring.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match valu
e '2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
pystring.lib(pystring.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't m
atch value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColor
IO.vcxproj]
yaml-cpp.lib(convert.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value
'2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(convert.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't ma
tch value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorI
O.vcxproj]
yaml-cpp.lib(node_data.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match val
ue '2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(node_data.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't
match value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColo
rIO.vcxproj]
yaml-cpp.lib(exceptions.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match va
lue '2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(exceptions.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't
match value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenCol
orIO.vcxproj]
yaml-cpp.lib(memory.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value
'2' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(memory.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't mat
ch value 'MDd_DynamicDebug' in CategoryHelpers.obj [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO
.vcxproj]
yaml-cpp.lib(yaml-cpp.dll) : error LNK2005: "public: __cdecl YAML::InvalidNode::InvalidNode(class std::basic_string,class std::allocator > const &)" (??0InvalidNode@YAML@@QEAA@AEBV?$basic_string@DU
?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in yaml-cpp.lib(convert.obj) [C:\Users\samue\Source\Ope
nColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(yaml-cpp.dll) : error LNK2005: "public: virtual __cdecl YAML::BadConversion::~BadConversion(void)" (??1Bad
Conversion@YAML@@UEAA@XZ) already defined in yaml-cpp.lib(exceptions.obj) [C:\Users\samue\Source\OpenColorIO\build\src\
OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(yaml-cpp.dll) : error LNK2005: "public: enum YAML::NodeType::value __cdecl YAML::Node::Type(void)const " (
?Type@Node@YAML@@QEBA?AW4value@NodeType@2@XZ) already defined in yaml-cpp.lib(convert.obj) [C:\Users\samue\Source\OpenC
olorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(yaml-cpp.dll) : error LNK2005: "public: class std::basic_string,class s
td::allocator > const & __cdecl YAML::Node::Scalar(void)const " (?Scalar@Node@YAML@@QEBAAEBV?$basic_string@DU?$ch
ar_traits@D@std@@V?$allocator@D@2@@std@@XZ) already defined in yaml-cpp.lib(convert.obj) [C:\Users\samue\Source\OpenCol
orIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
yaml-cpp.lib(yaml-cpp.dll) : error LNK2005: "public: static bool __cdecl YAML::convert::decode(class YAML::Node c
onst &,bool &)" (?decode@?$convert@_N@YAML@@SA_NAEBVNode@2@AEA_N@Z) already defined in yaml-cpp.lib(convert.obj) [C:\Us
ers\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
Creating library C:/Users/samue/Source/OpenColorIO/build/src/OpenColorIO/Debug/OpenColorIO.lib and object C:/Users
/samue/Source/OpenColorIO/build/src/OpenColorIO/Debug/OpenColorIO.exp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library [C:\Users\samue
\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]
C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\Debug\OpenColorIO_2_5.dll : fatal error LNK1169: one or more mu
ltiply defined symbols found [C:\Users\samue\Source\OpenColorIO\build\src\OpenColorIO\OpenColorIO.vcxproj]`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.