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

问题描述 投票:0回答:1

我刚刚使用 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 中编译,每次都会遇到相同的错误。

更多信息:

  • Windows SDK:10.0
  • 平台工具集:Visual Studio 2022 (v143)
  • vcpkg 自动链接设置为 True
  • 我有来自 vcpkg 的其他可用的软件包
c++ linker llvm std
1个回答
0
投票

更新 Visual Studio 修复了该问题

© www.soinside.com 2019 - 2024. All rights reserved.