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 并且有效。所以可能它可能是正确的解决方案。 (至少对我有用。)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...