【问题标题】:Is it possible to specify the path to the libstdc++ in VS Code clangd extension?是否可以在 VS Code clangd 扩展中指定 libstdc++ 的路径?
【发布时间】:2020-03-13 13:30:14
【问题描述】:

我使用 VS Code 作为我的 C++ 开发的主要代码编辑器。我正在使用 Microsoft 的远程 SSH 扩展从家里访问我的办公室工作站。对于 C++ 自动完成和 linting,我使用 LLVM 的 clangd 扩展。公司政策禁止用户对工作站进行 sudo 访问,并且库通常不是最新版本。

当我尝试启动 clangd 时,我收到以下错误消息:

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /my/path/to/clangd)

这显然意味着 libstdc++ 的版本对于我正在使用的 clangd 版本来说太旧了。通过将最近的 gcc 库(我们的编译器工具链的一部分)的位置添加到 LD_LIBRARY_PATH 中,然后启动 VS Code,这很容易解决。

但是,现在我正在远程工作,因为 VS Code 已安装在我的笔记本电脑上,并且我正在使用 SSH 扩展来访问我办公室工作站上的代码,所以我无法这样做。查看 clangd 的手册页,我看不到指定要使用的 libstdc++ 路径的方法。除了在启动/登录时将库添加到 LD_LIBRARY_PATH 之外,还有其他方法可以绕过此问题吗?

【问题讨论】:

    标签: visual-studio-code libstdc++ vscode-remote clangd


    【解决方案1】:

    我找到了一种方法,虽然有点老套。

    在 .zprofile 上导出新的 LD_LIBRARY_PATH(或等效于您的 shell。我正在使用 zsh)。确保主机中没有运行 VSCode 服务器。如果有,请务必删除它们。

    在 settings.json 文件中添加以下行,告诉 VSCode 您希望 shell 成为登录的交互式 shell:

    "terminal.integrated.shellArgs.linux": ["-l", "-i"]
    

    工作完成。 Clangd 现在可以找到正确的库。

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 2017-01-26
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      相关资源
      最近更新 更多