错误 LNK2019:从 vcpkg 使用 LLVM 时无法解析的外部符号__std_max_element_1

error LNK2019 : unresolved external symbol __std_max_element_1 when using llvm from vcpkg

提问人:Rex 提问时间:11/15/2023 更新时间:11/16/2023 访问量:37

问:

我刚刚使用 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++ 空项目,已定义为允许编译(否则我在 c++23 中收到已弃用的功能编译错误)_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS

这是我的源文件:


#pragma warning(disable:4146)
#include <llvm/IR/IRBuilder.h>


int main()
{
    std::unique_ptr<llvm::LLVMContext> TheContext;
    return 0;
}

我尝试使用 c++14/17/20 和 23/latest 进行编译,每次都遇到相同的错误。

更多信息:

  • Windows SDK:10.0
  • 平台工具集:Visual Studio 2022 (v143)
  • vcpkg AutoLink 设置为 True
  • 我有来自 vcpkg 的其他软件包可以工作
C++ 链接器 LLVM 标准

评论


答:

0赞 Rex 11/16/2023 #1

更新 Visual Studio 修复了它