libzippp
libzippp copied to clipboard
Static linking: function already defined.
Building a vcpkg manifest cmake project with the tripplet x86-windows-static
gives the following errors:
[build] libzippp_static.lib(libzippp.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in Main.obj [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPBD_J@Z) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)" (?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build] msvcprtd.lib(MSVCP140D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) already defined in libzippp_static.lib(libzippp.cpp.obj) [D:\H55\build\H55.vcxproj]
[build]
My cmake file:
cmake_minimum_required(VERSION 3.0.0)
set(VCPKG_TARGET_TRIPLET x86-windows-static)
project(H55 VERSION 0.1.0)
add_library(H55 SHARED H55.cpp Main.cpp)
find_package(minhook REQUIRED)
find_package(libzippp REQUIRED)
target_link_libraries(H55
PRIVATE
minhook::minhook
libzippp::libzippp
)