clion配置_Windows 10 配置Clion+WSL2环境

  • Windows 10 20H2
  • Clion 2020.2.4
  • Ubuntu (Microsoft Store内的WSL发行版)

第一步-为 Linux 安装 Windows 子系统

Install Windows Subsystem for Linux (WSL) on Windows 10​docs.microsoft.com

1. 启用“ Linux的Windows子系统”可选功能

以管理员身份打开PowerShell并运行:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. 保证Windows 10版本

  • 对于x64系统:版本1903或更高版本,以及内部版本18362或更高版本。
  • 对于ARM64系统:2004或更高版本,内部版本19041或更高。
  • 低于18362的内部版本不支持WSL2。

3. 在安装WSL 2之前,必须启用虚拟机平台可选功能

以管理员身份打开PowerShell并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动计算机以完成WSL安装并更新到WSL 2。

4. 下载Linux内核更新程序包:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi​wslstorestorage.blob.core.windows.net

(如果使用的是ARM64计算机,请改为下载ARM64软件包。如果不确定所用的机器类型,请打开“命令提示符”或“ PowerShell”并输入:systeminfo | find "System Type"

运行在下载的更新程序包。(双击运行-系统将提示您提升权限,选择“是”以批准此安装)

5. 将WSL 2设置为默认版本

wsl --set-default-version 2

6. 安装wsl发行版的Ubuntu(或者其他发行版)

https://www.microsoft.com/zh-cn/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab​www.microsoft.com
7c0e808639a434b029f71caf4aa33a83.png

7. 打开、等待安装,并为新的Linux发行版创建一个用户帐户和密码

22fe7b36535d992b77efcb7c8fa2013f.png

(首次创建可能需要等待一两分钟)

8. 最后

  • 检查分配给已安装的每个Linux发行版的WSL版本:
wsl -l -v
  • 如果要将WSL 2设置为默认体系结构,则可以使用以下命令
wsl --set-default-version 2
  • 建议选择Ubuntu(不带数字)并设置WSL版本为2(自带的apt源速度还可以)。

第二步-配置WSL(Ubuntu)

WSL - Help | CLion​www.jetbrains.com
aa6b16503538e899250ffcfcc1f1b3aa.png
  • 安装cmake,gcc或/和clang(以及可选的build-essentials软件包)
sudo apt-get update
sudo apt-get install cmake gcc clang gdb build-essential
  • 配置并运行ssh-server
wget https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh && bash ubuntu_setup_env.sh

(一般来说这个链接……有问题下载不了,需要使用脚本手动调整)

1. 新建“ubuntu_setup_env.sh”内容如下:

(相比原版脚本更改了“SSHD_LISTEN_ADDRESS”,原版的值是127.0.0.1)

#!/bin/bash
set -e

SSHD_LISTEN_ADDRESS=0.0.0.0

SSHD_PORT=2222
SSHD_FILE=/etc/ssh/sshd_config
SUDOERS_FILE=/etc/sudoers
  
# 0. update package lists
sudo apt-get update

# 0.1. reinstall sshd (workaround for initial version of WSL)
sudo apt remove -y --purge openssh-server
sudo apt install -y openssh-server

# 0.2. install basic dependencies
sudo apt install -y cmake gcc clang gdb valgrind build-essential

# 1.1. configure sshd
sudo cp $SSHD_FILE ${SSHD_FILE}.`date '+%Y-%m-%d_%H-%M-%S'`.back
sudo sed -i '/^Port/ d' $SSHD_FILE
sudo sed -i '/^ListenAddress/ d' $SSHD_FILE
sudo sed -i '/^UsePrivilegeSeparation/ d' $SSHD_FILE
sudo sed -i '/^PasswordAuthentication/ d' $SSHD_FILE
echo "# configured by CLion"      | sudo tee -a $SSHD_FILE
echo "ListenAddress ${SSHD_LISTEN_ADDRESS}"	| sudo tee -a $SSHD_FILE
echo "Port ${SSHD_PORT}"          | sudo tee -a $SSHD_FILE
echo "UsePrivilegeSeparation no"  | sudo tee -a $SSHD_FILE
echo "PasswordAuthentication yes" | sudo tee -a $SSHD_FILE
# 1.2. apply new settings
sudo service ssh --full-restart
  
# 2. autostart: run sshd 
sed -i '/^sudo service ssh --full-restart/ d' ~/.bashrc
echo "%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service ssh --full-restart" | sudo tee -a $SUDOERS_FILE
cat << 'EOF' >> ~/.bashrc
sshd_status=$(service ssh status)
if [[ $sshd_status = *"is not running"* ]]; then
  sudo service ssh --full-restart
fi
EOF
  

# summary: SSHD config info
echo 
echo "SSH server parameters ($SSHD_FILE):"
echo "ListenAddress ${SSHD_LISTEN_ADDRESS}"
echo "Port ${SSHD_PORT}"
echo "UsePrivilegeSeparation no"
echo "PasswordAuthentication yes"

2. 在相对位置给“ubuntu_setup_env.sh”增加运行权限并运行:

sudo chmod +x ubuntu_setup_env.sh
bash ubuntu_setup_env.sh

3. 在WSL环境内运行(端口号可根据“ubuntu_setup_env.sh”内设置进行调整):

ssh username@localhost -p2222

username为第一步安装WSL时创建的用户名,注意替换

第三步-配置Clion 内的 Toolchains

1. 转到 Settings / Preferences | Build, Execution, Deployment | Toolchains,从环境列表中选择WSL。CLion会自动检测已安装的发行版,或者手动设置路径。

2. 提供远程凭据:选择一种SSH配置或创建一个新的SSH配置。

cbf180058a1a89a2fb758b813ed02185.png

第四步-配置Clion 内的 Terminal

  • 转到 Settings / Preferences | Tools | Terminal ,修改“application settings”内的“shell path”为:
"C:UsersusernameAppDataLocalMicrosoftWindowsAppsubuntu.exe" run

(注意将“username”替换为本机用户,“ubuntu.exe”会因为安装的版本有所差异)

第五步-配置Clion 内的 Coverage

在运行“Run with Coverage”的时候提示“gcov tool is not found”,解决办法如下:

  • 转到 Settings / Preferences | Build, Execution, Deployment | Coverage ,修改“Tools”内的“gcov”为(非Ubuntu……根据情况修改):
wsl$Ubuntuusrbingcov

第六步-配置Clion 内的 Valgrind

在运行“Run with Valgrind Memcheck”的时候提示“Valgrind executable is not found”,解决办法如下:

转到 Settings / Preferences | Build, Execution, Deployment | Dynamic Analysis Tools | Valgrind ,修改“Valgrind executable”为(非Ubuntu……根据情况修改):

wsl$Ubuntuusrbinvalgrind
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值