在VScode中建立CPP环境By Conda

1. 动机

平常的项目经常使用python来实现,突如其来的C++需求让人措手不及
经调研,直接使用conda也能创建CPP的调试环境

2. 在 Conda 环境中安装 C++ 工具

(1)创建 C++ 专用环境

如果还没有Conda环境,可以创建一个:

conda create -n cpp_env

然后激活它:

conda activate cpp_env

(2)安装 C++ 编译器

Linux/macOS(使用 conda-forge 提供的 gxx_linux-64 或 clang):

conda install -c conda-forge gxx_linux-64  # Linux
conda install -c conda-forge clang  # macOS

Windows(安装 m2w64-toolchain):

conda install -c msys2 m2w64-toolchain

(3) 安装调试器(GDB)

conda install -c conda-forge gdb

(4) 安装 CMake(可选)

如果需要编译 CMake 项目:

conda install -c conda-forge cmake ninja

3. 验证 C++ 编译环境

安装完成后,可以检查是否正确安装:

g++ --version
gdb --version
cmake --version

如果 Conda 版本的 g++ 没有正确调用,可以查看路径:

which g++

如果路径指向 /usr/bin/g++ 而不是 Conda 环境,则需要重新激活:

conda activate cpp_env

4. 使用 Conda 里的 C++ 进行编译

在 Conda 环境中,创建一个 C++ 代码文件 test.cpp:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello from Conda C++!" << endl;
    return 0;
}

然后编译:

g++ test.cpp -o test
./test

5. 在 VS Code 里使用 Conda C++ 环境

(1) 确保 VS Code 终端使用 Conda 环境

在 VS Code 里打开终端(Ctrl + ~),然后运行:

conda activate cpp_env

确保 g++ 和 gdb 来自 Conda:

which g++
which gdb

(2) 配置 VS Code 调试

修改 .vscode/settings.json:

{
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.env.linux": {
        "PATH": "/home/your_user/miniconda3/envs/cpp_env/bin:${env:PATH}"
    }
}

然后配置 .vscode/launch.json 和 .vscode/tasks.json,跟普通 C++ 项目一样。

6. 常见错误

(1) g++ 无法识别

Conda 环境 cpp_env 里已经安装了 gxx_linux-64,但 g++ 仍然无法识别,可能是以下几个问题导致的:

a. 检查 g++ 是否真的安装了

先尝试:

which g++

如果返回为空,说明 g++ 没有正确安装到 Conda 环境中。你可以查看 Conda 里的 bin 目录:

ls $CONDA_PREFIX/bin | grep g++

如果有 x86_64-conda-linux-gnu-g++,但没有 g++,可能是路径问题。

b. 手动设置 g++ 软链接

如果 Conda 安装的 g++ 叫 x86_64-conda-linux-gnu-g++,可以创建一个别名:

ln -s $CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++ $CONDA_PREFIX/bin/g++

然后检查:

g++ --version

c. 可能是 Conda 没有正确切换 PATH

echo $PATH

然后确保 Conda 的 bin 目录在最前面:

export PATH=$CONDA_PREFIX/bin:$PATH

可以把这行加入 ~/.bashrc 或 ~/.bash_profile 里:

echo 'export PATH=$CONDA_PREFIX/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

d. 重新安装

如果 g++ 仍然不可用,可以尝试移除并重新安装:

conda remove gxx_linux-64
conda clean --all
conda install -c conda-forge gxx_linux-64

e. 确保 Conda gcc 和 g++ 版本匹配

检查 gcc 和 g++ 是否一致:

gcc --version
g++ --version

如果 gcc 还是系统版本,而 g++ 为空,可能需要手动安装 gcc_linux-64:

conda install -c conda-forge gcc_linux-64

f. 确实安装了 g++,但名称不标准,所以 g++ 命令无法直接找到它。

方法 1:创建 g++ 软链接

在 Conda bin 目录下手动创建 g++ 的软链接:

ln -s $CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++ $CONDA_PREFIX/bin/g++

然后验证:

which g++
g++ --version

如果 g++ 仍然无法识别,尝试重启终端或重新激活 Conda 环境:

conda deactivate
conda activate cpp_env
方法 2:直接使用完整路径

如果不想创建软链接,可以在编译时手动指定 g++:

x86_64-conda-linux-gnu-g++ test.cpp -o test
./test

但这不太方便,所以建议还是用 方法 1 创建 g++ 软链接。

方法 3:修改 PATH

如果不想创建软链接,也可以直接让 x86_64-conda-linux-gnu-g++ 变成默认 g++:

export PATH=$CONDA_PREFIX/bin:$PATH

如果想永久生效:

echo 'export PATH=$CONDA_PREFIX/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值