如何解决C++17,英特尔 C++ 编译器:在 Windows 10 平台中使用文件系统头文件需要什么库?
我只需要使用 #include <filesystem>
执行一些文件系统操作,但是,我收到以下链接错误...我想我在 xlink 命令中缺少一个库。下面是错误信息。
请告诉我您的宝贵意见。
test_accuracy.obj : error LNK2019: unresolved external symbol wmemcmp referenced in function "public: class std::filesystem::path & __cdecl std::filesystem::path::operator/=(class std::filesystem::path const &)" (??_0path@filesystem@std@@QEAAAEAV012@AEBV012@@Z)
Debug\test_accuracy.exe : Fatal error LNK1120: 1 unresolved externals
编辑
您可以在下面看到编译和链接命令。 (谢谢)
icl -I"C:/Program Files (x86)/IntelSWTools/sw_dev_tools/compilers_and_libraries_2020.2.254/windows/compiler/include" -I/../boost_1_73_0 -Qstd=c++17 -Qdiag-error-limit:3 -O3 -MD -Fo:DEBUG/obj/test_accuracy.obj -c test_accuracy.cpp
xilink /OPT:REF /OPT:ICF /DEBUG:FASTLINK /TLBID:1 ole32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib -LIBPATH:Debug\lib -out:Debug/test_accuracy.exe DEBUG/obj/test_accuracy.obj
解决方法
缺少的符号是 C 运行时的一部分。尝试将 vruntime.lib
添加到您的链接行,或改为使用 MSVC 链接器 (link.exe) 进行链接。
我向英特尔 C++ 社区 here 提出了这个问题,结果证明这是一个可重现的问题,他们建议更新我的 VS 2019 社区版。我更新到 16.8.5 并且有效。所以可能它可能是正确的解决方案。 (至少对我有用。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。