c++ - VSCode c++ 为 vc 工具链配置

标签 c++ cmake visual-studio-code

我正在尝试在 vscode 中开始工作,最新的 C++ 插件版本支持 ms 调试器,所以由于我主要在 Windows 下工作,所以这是尝试这个的信号。

安装了 MS 的 c++ 工具插件和 cmake 工具。

但是我的测试项目没有建立。问题很明显,但我需要有经验的 vscode 用户的建议如何解决这个问题。

cmake 没有看到 vc 编译器。 (在使用 QtCreator 之后)我预计 vscode 可以检测到 vc 安装......但事实并非如此。好的,我有两种方法:

  1. 使用 header 、库和二进制文件填充环境变量 INCLUDE/LIB/PATH
  2. 只需运行 vcvarsall.bat x64

第二种方式简单可靠。所以最后一个问题是:

如何在 vscode start 开始时运行 .bat? (我不是说再写一个bat/cmd,准备好环境,然后在同一个脚本中运行vscode)

最佳答案

虽然这个问题很老了,但我会尽量给出一个有用的答案,以防其他人像我一样偶然发现。

我相信你想要达到的目标是不可能的。代码继承了它开始时的环境。如果您没有从开发人员命令提示符启动它,您将无法构建和调试。 (如果每个任务都首先启动 vcvarsall.bat,构建可能是可能的,但这会大大减慢速度。我认为调试仍然无法正常工作。)

如果你愿意,你可以查看 bool vector CMake Tools构建自动化以及自动 MSVC 检测的扩展。它使用 CMake 构建(因此您需要使用 CMake 编写构建脚本),但它只需按 F7 即可完成构建,就像大多数 VS 用户所熟悉的那样。

关于c++ - VSCode c++ 为 vc 工具链配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39230419/

相关文章:

javascript - ReactApp - 当我在 VS 代码编辑器中保存 js 文件中的更改时,浏览器不会刷新页面。

c++ - C++ 标准对 std::vector<int> v1,v2; 有什么看法?标准::距离(v1.begin(),v2.begin())?

c++ - 为什么 unicode char 在 std::string 中存储为 UTF-8 而在 wchar_t 中存储为 UTF-16/32?

Linux 上的 CMake : "target platform does not support dynamic linking"

c++ - 如何在Visual Studio的CMakeLists.txt文件中设置CLion构建体系结构?

windows - 如何删除最近在 Visual Studio Code 上打开的文件 session ?

c++ - 为什么链表不是线程安全的?

c++ - 我能否检测哪些类型在用作基类时可能与其派生类重叠

c++ - 为什么在定义 CXX 时 cmake 会忽略 ADD(SYSTEM) 头文件?

windows - 如何从命令提示符运行 VSCode