You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio中从LLVM切换至MSVC(保留LLVM)并解决链接错误

解决Visual Studio切换回MSVC编译器及PDCurses链接错误问题

一、从Clang/LLVM切换回MSVC编译器(保留LLVM)

全局项目切换

  • 右键你的项目 → 选择「属性」
  • 进入「配置属性」→「常规」
  • 在「平台工具集」下拉菜单中,选择对应版本的Visual C++工具集(比如v143 - Visual Studio 2022 (v143)),点击确定即可。LLVM会保留在系统中,不会被删除。

单个文件单独切换(仅针对特定文件使用MSVC)

  • 右键目标源文件 → 选择「属性」
  • 进入「配置属性」→「常规」
  • 在「平台工具集」中选择对应的MSVC版本,确定后该文件会单独用MSVC编译,其他文件可继续使用Clang。

二、解决PDCurses的LNK2019链接错误

你遇到的LNK2019错误是因为编译器未链接PDCurses的库文件,按以下步骤处理:

  1. 确认NuGet包安装状态:打开项目的「NuGet包管理器」,检查PDCurses包是否已正确安装,若未安装则重新安装对应版本。
  2. 添加附加依赖项:
    • 右键项目 → 属性 → 「配置属性」→「链接器」→「输入」
    • 在「附加依赖项」中添加PDCurses的库文件名,比如pdcurses.lib(若使用宽字符版本则为pdcursesw.lib,具体以NuGet包内的lib文件为准)。
  3. 验证附加库目录:
    • 进入「链接器」→「常规」→「附加库目录」,确认已包含PDCurses的lib文件路径(NuGet包通常会自动配置,若未生效可手动添加,例如$(SolutionDir)packages\PDCurses.[版本号]\lib\[平台])。
  4. 完善代码(可选但推荐):Curses程序需要初始化和结束窗口,否则运行会异常,修改代码如下:
#include <curses.h>

int main(void)
{
    initscr(); // 初始化Curses窗口
    addstr("Hello World!");
    refresh(); // 刷新屏幕显示内容
    getch(); // 等待用户输入,防止程序直接退出
    endwin(); // 关闭Curses窗口
    return 0;
}

内容的提问来源于stack exchange,提问作者Spencer Rosas-Gunn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:30:59