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

为什么要在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,所以:
sudp apt install gcc-4.8

sudp apt install g++-4.8

再做一下软链接:

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权限。

一次安装基础包:

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上码的愉快~~~

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

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

发表于

breeze技术随笔

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

在CentOS 7上安装Magento

在这篇教程中,您将学习如何在CentOS 7上安装Magent。Magento Community Edition(CE,即社区版)是一个免费的开源电子商务平台...

4616
来自专栏FreeBuf

Empire:PowerShell后期漏洞利用代理工具

文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! Empire是一个纯碎的PowerShell后期漏洞利用代理工具,它建立在密码学、...

2266
来自专栏伪君子的梦呓

在 VMware workstation 安装 CentOS 虚拟机

1353
来自专栏做全栈攻城狮

利用mono实现ASP.NET跨平台和nginx负载均衡

作为.net程序员大部分接触的是windows服务器。因为作为微软原生的操作系统对.net的支持性是最好的。

1153
来自专栏分享达人秀

安装Android模拟器,准备开发

完成以上所有步骤(JDK、ADT Bundle、SDK),那么就可以开始进行Android开发了。 Android程序必须运行在Android系...

3016
来自专栏Python攻城狮

Django教程(一)- Django视图与网址1.简介2.环境搭建3.安装pycharm4.Ubuntu下 正确安装VMware Tools5.Django主要模块6.Django基本命令7. Dj

Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!

1172
来自专栏魏艾斯博客www.vpsss.net

如何修改 windows vps 登陆用户名密码

2603
来自专栏张戈的专栏

网站安全检测提示“页面异常导致本地路径泄漏”的解决办法

在 360 网站安全检测时,经常报出“页面异常导致本地路径泄漏”的漏洞,尤其是新安装的 WordPress 网站,那是必然会报。。。 这些漏洞,之前玛思阁就已经...

3808
来自专栏IT笔记

Grafana+Telegraf+Influxdb监控Tomcat集群方案

前一段时间自家养的几只猫经常出问题,由于没有有效的监控预警手段,以至于问题出现或者许久一段时间才会被通知到。凌晨一点这个锅可谁都不想背,为此基于目前的情况搭建了...

1961
来自专栏蓝天

cron 的配置和说明

作者:北南南北 来自:LinuxSir.Org 摘要:Linux操作系统中,计划任务通常由cron来承担,了解或掌握cron,能为我们管理服务器带来更多的便利,...

922

扫码关注云+社区