WSL下搭建C开发环境,解决stdio.h缺失,build-essential安装失败,包依赖问题

在安装WSL下的C开发环境时,遇到了几个坑,在此记录下,借需要的朋友参考。

事件经过:

  1. 首先安装WSL,直接在Microsoft商店安装Ubuntu 20.04
  2. 之后进入Ubuntu,编写C代码,用gcc编译的时候开始报错,提示stdio.h头文件缺失
  3. 发现少了build-essential,尝试apt-get安装,继续报错,告警信息为包版本缺失(或不支持)
  4. 之后尝试安装aptitude,依旧是依赖包报错
  5. 换思路,更换源,发现换错源,更正为正确源
  6. apt-get update后,apt-get build-essential成功,最终编译成功。

安装WSL

这部分教程较多,没遇到什么坑,不细说了。

编写.C文件并编译

编写hello.c:

#include <stdio.h>

int main(int argc,char *argv[])
{
    printf("Hello World!");
}

使用gcc hello.c -o hello进行编译

安装gcc

报gcc: command not found,说明gcc未安装,输入apt-get install gcc,等待安装完成,继续编译,告警stdio.h:没有该文件或目录,代表build-essential未安装。

安装build-essential

执行命令sudo apt-get install build-essential,记得sudo防止权限不够,如果正常安装了,那编译应该能通过了,不过我这里报了新的告警,类似下面这种:

maistora@maistora:~$ sudo apt-get install build-essential
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: gcc (>= 4:4.4.3) but it is not going to be installed
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Broken packages

网上针对这种告警有不少讨论,有说版本stable和unstable问题的,有说包依赖关系导致的,需要使用aptitude安装的,我感觉都挺靠谱,就是行不通,所以介绍下我这里可行的方法。

切换源

切换源就是我找到的解决方法,但不能盲目地切换,源的选择和Ubuntu版本密切相关,下面细说:
切换源的方法来自坚强的山猫博客
Ubuntu 20.04换阿里源
首先在Ubuntu的bash下执行lsb_release -a,查看自己的Ubuntu版本
我的版本
之后到阿里源中查看是否有需要的源,并按照上述博客中的方法替换掉/etc/apt/source.list中的源,Ubuntu20.04替换源后,source.list如下:
Ubuntu20.04版本源
保存后退出,运行sudo apt-get update,应该能成功运行,随后执行sudo apt-get install build-essential,即可安装成功,最后gcc hello.c -o hello,编译成功:
编译运行结果
至此C环境安装暂且告一段落。

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 安装 CUDA 11.8 前需要满足以下要求: - 确定您的 GPU 支持 CUDA - 安装适合您的操作系统的 NVIDIA 显卡驱动 - 确保您的系统上没有其他版本的 CUDA 安装 接下来您可以按照以下步骤在 WSL Ubuntu 22.04 上安装 CUDA 11.8。 1. 下载 CUDA Toolkit 安装文件 您可以在 NVIDIA 官网上下载 CUDA Toolkit 安装文件。选择与您的操作系统和 GPU 相匹配的版本。在下载过程中,您需要为您的操作系统选择 Linux,为您的 GPU 选择 x86_64 体系结构,并选择 deb (network) 安装文件。 2. 安装 CUDA Toolkit 下载完成后,使用以下命令在终端中安装 CUDA Toolkit: ```bash sudo dpkg -i cuda-repo-network-ubuntu2004-11-8-local_11.8.0-1_amd64.deb sudo apt-key add /var/cuda-repo-network-ubuntu2004-11-8-local/7fa2af80.pub sudo apt-get update sudo apt-get install cuda ``` 3. 验证 CUDA 安装 安装完成后,您可以使用以下命令来验证 CUDA 是否已成功安装: ```bash nvcc -V ``` 如果您看到 CUDA 版本信息,则说明 CUDA 已经成功安装。 现在,您已经在 WSL Ubuntu 22.04 上成功安装了 CUDA 11.8。 ### 回答2: 要在WSLUbuntu 22.04上安装CUDA 11.8,您可以按照以下步骤进行操作: 1. 确保您的WSL已经安装并正常工作,并且已经安装Ubuntu 22.04发行版。 2. 打开WSL终端。 3. 在终端中运行以下命令,以更新系统和软件列表: ``` sudo apt update ``` 4. 安装必要的依赖项和构建工具: ``` sudo apt install build-essential ``` 5. 下载CUDA 11.8的安装程序。您可以在NVIDIA官方网站上找到适用于Linux x86_64的CUDA安装程序。 6. 在下载完成后,将安装程序移动到您希望安装CUDA的目标文件夹中。 7. 在终端中导航到安装程序所在的文件夹,并使用以下命令使其可执行: ``` chmod +x cuda_11.8_installer.run ``` 8. 运行安装程序以启动CUDA的安装过程: ``` sudo ./cuda_11.8_installer.run ``` 9. 按照安装程序的提示,选择要安装的组件和选项。请确保选择WSL作为您要在其中安装CUDA的操作系统。 10. 安装程序将提供有关如何设置环境变量的说明。按照说明更新您的`~/.bashrc`或`~/.profile`文件,以便在每次启动WSL时都能正确加载CUDA。 11. 安装完成后,重新启动WSL以使更改生效。 12. 验证CUDA的安装是否成功,您可以在终端中运行以下命令: ``` nvcc --version ``` 如果显示CUDA版本信息,则表示安装成功。 请注意,WSL对GPU的支持有限,因此在WSL中使用CUDA可能会遇到一些限制或不完全的功能。如果您需要完整的CUDA支持,建议在本机Linux系统中安装CUDA。 ### 回答3: 要在WSL Ubuntu 22.04上安装CUDA 11.8,你可以按照以下步骤进行操作: 1. 首先,打开WSL Ubuntu 22.04终端。 2. 可以在终端中运行以下命令来更新软件列表和升级现有软件: ``` sudo apt update sudo apt upgrade ``` 3. 接下来,你需要为CUDA创建一个新的目录,可以运行以下命令: ``` mkdir cuda cd cuda ``` 4. 然后,你可以根据你的系统架构(x86_64、ppc64le、arm64等)下载适当的CUDA安装。可以前往NVIDIA官方网站(https://developer.nvidia.com/cuda-downloads)下载相应版本的CUDA 11.8。 5. 下载完成后,你可以使用以下命令解压下载的安装: ``` tar -xzvf <安装名称> ``` 6. 解压缩完成后,你可以进入解压缩后的目录并安装CUDA。运行以下命令: ``` cd <解压缩后的目录> sudo sh cuda_install_script.run ``` 7. 在安装过程中,根据提示进行选择和确认。可以选择完整安装或自定义安装选项,并提供所需的安装目录。 8. 安装完成后,你需要将CUDA添加到系统路径中,可以运行以下命令: ``` echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` 9. 为了验证CUDA是否成功安装,你可以运行以下命令来检查CUDA版本和驱动程序: ``` nvcc --version nvidia-smi ``` 如果一切顺利,你应该能够看到安装的CUDA版本和与之关联的NVIDIA驱动程序信息。现在,你可以在WSL Ubuntu 22.04上使用CUDA 11.8进行开发和运行CUDA加速的应用程序了。请注意,WSL上的CUDA功能可能受到一些限制,因此某些高级功能可能无法在WSL中使用。建议在原生的Linux环境中使用CUDA以获得更好的性能和兼容性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值