scarsty / kys-cpp

《金庸群侠传》c++复刻版,已完工
BSD 3-Clause "New" or "Revised" License
2.57k stars 370 forks source link

编译提示:找到一个或多个重定义的符号? #33

Closed cdd1037 closed 3 years ago

cdd1037 commented 3 years ago

非常困惑, 操作系统是windows10;编译环境是vs2019;第三方库用的vcpkg下载的。 共5个error:

错误 LNK1169 找到一个或多个多重定义的符号 kys D:\projects\kys-c++\kys-cpp\x64\Release\kys.exe 1

错误(活动) E0070
不允许使用不完整的类型 kys C:\src\vcpkg\installed\x64-windows\include\asio\impl\compose.hpp 62
在 class "asio::detail::composed_work_guard<Executor, > [其中 Executor=asio::system_executor, =void]" 所在行数:208 实例化期间检测

错误 LNK2005 "void __cdecl fmt::v7::vprint(class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vprint@v7@fmt@@YAXV?$basic_string_view@D@12@Uformat_args@12@@Z) 已经在 fmt.lib(fmt.dll) 中定义 kys D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1

错误 LNK2005 "void __cdecl fmt::v7::detail::vprint_mojibake(struct _iobuf *,class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vprint_mojibake@detail@v7@fmt@@YAXPEAU_iobuf@@V?$basic_string_view@D@23@Uformat_args@23@@Z) 已经在 fmt.lib(fmt.dll) 中定义 kys D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1

错误 LNK2005 "class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl fmt::v7::detail::vformat(class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vformat@detail@v7@fmt@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_string_view@D@23@Uformat_args@23@@Z) 已经在 fmt.lib(fmt.dll) 中定义 kys D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1

scarsty commented 3 years ago

你可能是自动链接了fmt,可以去掉engine.h中的fmt head only的宏。

cdd1037 commented 3 years ago

你可能是自动链接了fmt,可以去掉engine.h中的fmt head only的宏。

感谢,问题已解决