我刚刚使用 vcpkg 安装了 llvm 17.0.2#1,构建进展顺利,但现在当我尝试使用它时,出现以下链接器错误:
LLVMCore.lib(DataLayout.cpp.obj) : error LNK2019: unresolved external symbol __std_max_element_1 referenced in function "unsigned char const * __cdecl __std_max_element<unsigned char const >(unsigned char const *,unsigned char const *)" (??$__std_max_element@$$CBE@@YAPEBEPEBE0@Z)
该项目是新创建的 Visual Studio 2022 c++ 空项目,定义了
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
以允许编译(否则我会在 c++23 中收到已弃用的功能编译错误)
这是我的源文件:
#pragma warning(disable:4146)
#include <llvm/IR/IRBuilder.h>
int main()
{
std::unique_ptr<llvm::LLVMContext> TheContext;
return 0;
}
我尝试在 c++14/17/20 和 23/newest 中编译,每次都会遇到相同的错误。
更多信息:
更新 Visual Studio 修复了该问题