前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >win10使用WSL编译Linux C++项目

win10使用WSL编译Linux C++项目

原创
作者头像
breezeliu
发布于 2018-11-04 08:51:19
发布于 2018-11-04 08:51:19
9.8K00
代码可运行
举报
文章被收录于专栏:breeze技术随笔breeze技术随笔
运行总次数:0
代码可运行

为什么要在windows下编译Linux项目?

我们是做后台开发的,虽然我们的svr都泡在tlinux上,但是大部分同学写代码/看代码还都是在windows下,使用类似于Clion、visual studio、source insight等编辑器(可以方便的跳转),只有真正需要编译的时候才去编译机上进行编译。这样就有一个问题:当带有有编译错误时,需要在windows上改一下再通过rz或者ftp工具传过去再进行编译,效率不高。如果可以在windows上编译,就只用在编译完成进行一次svn提交即可,需要运行的时候再去编译机编译运行。而且编译完成后对于那些存在于tar包里面代码也可以做到跳转,写代码看代码也比较方便。

当然还有一个原因是组内有使用mac的同学做了在mac下的编译,心想windows不能没人管啊,于是就研究了下在windows下的编译。

什么是WSL?

Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。发展到现在不止支持Ubuntu,还有OpenSuse、SUSE Linux Enterprise Svr、Debian、Kali等操作系统。

如何开启WSL?

本文以Ubuntu为例,展示如何在WIN10下开启WSL。本文所说的都是在开发网下面进行的操作,所以需要申请临时访问外网权限。

1, 在服务里面将WIN10的自动更新服务打开,并把win10更新到最新版本。可以在https://www.microsoft.com/zh-cn/software-download/windows10下载最新的升级器进行快速升级。

2,打开开发者模式:开始菜单 =>windows设置=>更新和安全=>针对开发人员=>开发人员模式

3,安装WSL组件:控制面板=>程序和功能=>启用或关闭windows功能=>在“适用于Linux的Windows子系统”前面打钩,确定后重启系统

4,去应用商店下载Ubuntu:开始菜单 =>打开windows store=>搜索linux=>在windows运行linux?是的=>获取这些应用=>选择ubuntu进行下载,下载完成后自动安装。注意:由于我们公司网络策略,这块如果有相关问题要等好久,我就是因为不明网络原因重装了一次win10才解决,后面下载也经常遇到各种问题,比如速度慢、弹出错误等,不行就重启,杀后台进程,多试几次应该都可以的。

这些都完成后,你的开始菜单里面应该有了ubuntu的图标,点击进去进行安装即可,第一次会要求输入用户名和密码。

后续开启ubuntu子系统可以在cmd里面输入bash或者ubuntu即可,也可以选择开始菜单里面的ubuntu图标。开启后就是个标准的linux程序了,可以看到系统的 C D E等盘都被挂载到了/mnt下面。

如何编译代码?

1,设置源和代理,修改系统配置

  • WSL默认带的包很少,编译需要的东西很多都要自己安装。ubuntu下面安装使用apt工具,需要设置相关源,这个网上找下相关教程即可,不再赘述。

2,下载安装相关的组件:

不同的项目需要的编译工具,以我们项目为例:

  • 我们需要gcc4.8,所以:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudp apt install gcc-4.8

sudp apt install g++-4.8

再做一下软链接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/bin
ln -s gcc-4.8 gcc
ln -s g++-4.8 g++
ln -s gcc-4.8 cc
ln -s g++-4.8 c++

可能需要root权限。可以sudo su root获取root权限。

一次安装基础包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt install python automake libtool flex texinfo libcppunit-dev make libncurses5-dev zlib1g-dev binutils-dev libssl-dev -y
  • cmake需要升级到3.9以上,去https://cmake.org/download/下载3.9版本,解压后 ./bootstrap && make && make install
  • uuid项目需要automake1.13版本,protobuf需要1.14版本的automake,apt上install的automake是1.15版本的,所以还需要去http://ftp.gnu.org/gnu/automake/下载对应的版本,./configure && make && make install
  • mysync需要bison使用2.7版本,3.0以上的版本mysql-5-1-16会报错,去http://ftp.gnu.org/gnu/bison/下载2.7版本安装包,然后./configure,make, make install即可。有可能会报找不到bison的错误,使用命令:find . -type f | xargs touch -t `date +%Y%m%d%H%M`
  • 你可以像在linux下面编译你的代码了。哦不,本来就是在linux下面,哈哈。

其他一些tips

最后,希望大家在windows上码的愉快~~~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微软更新Linux子系统,编译WSL 2内核只需3步
今年,微软在Build大会上向开发者放了两个“大招”:Windows Terminal和WSL 2。两个工具都是为了向开发者提供类似于Linux的体验。
量子位
2019/07/17
1.8K0
微软更新Linux子系统,编译WSL 2内核只需3步
centos7编译c++碰到的坑
centos 7默认安装的工具链和LIB库都比较旧,不能很好的编译C++产品,最近踩了很多坑,下面就列一下出来。
灰子学技术
2024/02/22
4740
centos7编译c++碰到的坑
WSL+cmder+oh-my-zsh美化win10命令工具(terminal)
最近在win10下面搭建了一个 WSL+cmder+oh-my-zsh 的程序员命令行环境,为什么呢?还不是买不起mac,加上自己的黑苹果瘫了,所有又回到了win10上面。不过上面不管是Cmd还是PowerShell都是难看的要死要死的,而且很多命令不支持,所以有了这一次的实践。
踏浪
2019/07/31
8.2K0
WSL+cmder+oh-my-zsh美化win10命令工具(terminal)
ubuntu VCS+verdi安装教程
链接:https://pan.baidu.com/s/1EWX8PulBncy9bjwW_mySIg
FPGA开源工作室
2021/05/31
10.7K3
ubuntu VCS+verdi安装教程
Win10 WSL + Linux 开源 EDA(二)
上一篇我们在一台 Win10 家庭版电脑上安装了 WSL 2 的 Ubuntu 16.04 LTS,这篇我们将安装一款开源的 Verilog 仿真器,EpicSim。
icsoc
2020/11/25
1.7K0
win10中利用WSL搭建Linux子系统开发环境 顶
在win10中使用Linux环境,不用安装虚拟机就,不用安装双系统,不用切换系统,直接在win10中使用Linux系统。
bdcn
2019/03/12
2.1K0
win10中利用WSL搭建Linux子系统开发环境
                                                    顶
ubuntu安装LLVM和clang
笔者在安装LLVM和clang时遇到一下奇葩的问题,搞的人极为头大。先说说笔者的环境吧。
aneutron
2022/08/19
4K0
Linux|WSL打造Windows下更顺畅的双系统之终篇
所以我就定义了一个关键字 wsl 的自动回复,不过还是将二更的文章发给了朋友,又说了下设置开机自启动在一更的文章里。
琉璃康康
2024/07/04
5680
Linux|WSL打造Windows下更顺畅的双系统之终篇
搭建qemu RISC-V运行Linux环境
目前虽然RISC-V的硬件开发板能够运行Linux的十分难得,从探索RISCV的生态的角度上来看,使用模拟器也是一种非常好的方式。使用QEMU能够很好的模拟RISCV的硬件资源,后期有实际的开发板后将其软件生态移植上去也并不复杂。
bigmagic
2021/05/18
10.4K13
搭建qemu RISC-V运行Linux环境
基于WSL2 + VSCode + Clangd 打造最强C/C++编辑器
作者简介:张帅,WeChat:yorkszhang ,网站:www.flowlet.net
Flowlet
2022/08/18
8.4K0
基于WSL2 + VSCode + Clangd 打造最强C/C++编辑器
Win10下配置WSL2使用CUDA搭建深度学习环境
操作系统:Windows 10 专业版 22H2(保系统版本高于windows10 21H2或Windows11)
御坂妹
2024/11/04
1.7K0
神器:WSL和Docker--程序员和运维人员的致胜法宝
近期看到有小伙伴在讨论windows上使用wsl,docker和k8s的问题。发现大家很少使用Docker Desktop,这两者我都使用了很久了各种无缝切换非常丝滑,因此来分享给大家一些使用小技巧。
编码如写诗
2024/08/30
3580
神器:WSL和Docker--程序员和运维人员的致胜法宝
linux c++开发环境_玩转 WSL 在 Win10 上打造 Linux 开发环境
WSL 是 Windows Subsystem for Linux 的简称, 可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。
用户7886150
2021/02/15
2.7K0
win10配置linux子系统使用python绘图并显示--WSL使用GUI输出
默认情况下,Win10的linux子系统(WSL)是只能使用命令行程序的。所有图形界面的程序都无法执行。
俺踏月色而来
2019/07/01
3.8K0
win10配置linux子系统使用python绘图并显示--WSL使用GUI输出
Windows 10 子系统
经过一翻折腾,我还是觉得 window terminal 不是很好用,主要是体现在开发工作上,项目发布,我那一堆的命令根本就不好使。我准备搞一下虚拟机,当然不是指 VirtualBox 和 VMware Workstation, 嗯, 是的 win10 自带的子系统。
chuchur
2022/10/25
2.6K0
Windows 10 子系统
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
DevOps在路上
2023/05/16
7.3K0
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
Win10 WSL + Linux 开源 EDA(三)
上一篇我们安装了开源 Verilog 仿真器 EpicSim。既然是仿真,就会有通过波形 debug 的需求。这篇我们来安装一款开源的 VCD 波形查看器, GTKWave。
icsoc
2020/11/25
2.6K0
Win10 WSL + Linux 开源 EDA(三)
在Ubuntu子系统中安装GNU Radio使用USRP
在Windows上要使用usrp需要使用Windows版本的GNU Radio,但是用起来的体验一言难尽,打开慢而且闪退几率较大,因而考虑使用Linux版本的GNU Radio,正好Windows系统安装了Linux子系统(WSL,版本为Ubuntu18.04),因而考虑在WSL中安装GNU Radio和UHD驱动,从而实现操作USRP。
分享者
2022/12/20
2.7K0
在Ubuntu子系统中安装GNU Radio使用USRP
再见虚拟机!在Win10中使用Linux版本的R和Python
想象一下,你用 Linux 版本的 Tensorflow 建立了一个美妙的 RNN 模型,然后无缝切换到 Windows 用 Excel 直接编辑结果,画了一幅 fancy 的图给你的老板。在此期间,你的所有模型文件已经被自动同步到了 Onedrive/百度云/Dropbox 上了!整个过程丝毫没有使用虚拟机的“膈应”感!
1480
2019/05/21
6.6K0
手把手教你在windows10下进行openFoam调试
虽然做着实习,但是科研任务也不能落下,因为即将开题内容为数值模拟,所以先将openfoam环境安装好并进行调试,openfoam都是c++语言编写,而且是在linux环境下运行,所以设计到许多编译器的问题,可以先学相关知识再看本篇博客。 首先,跟着官网教程先下好openFoam:https://www.openfoam.com/download/openfoam-installation-on-windows-10 在这里首先你要下载好linux子系统,在微软的商店里下载,我这里下载的是ubuntu18.04版本。
gzq大数据
2021/08/05
2.4K1
手把手教你在windows10下进行openFoam调试
推荐阅读
相关推荐
微软更新Linux子系统,编译WSL 2内核只需3步
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验