ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows+VSCode交叉编译在Linux-x86_64环境上运行的程序

2022-05-25 14:32:01  阅读:158  来源: 互联网

标签:cmake x86 编译 Windows VSCode 64 linux 安装


一、简介

  本文主要介绍在Windows平台上使用VSCode,从而可以一键编译出运行在Linux-x86_64环境中的程序或库。

二、实现方式

  ① 交叉编译

  ② WSL(Windows Subsystem for Linux)

三、交叉编译

  关于交叉编译的配置,我之前一篇博客里面已经非常详细地列举了步骤,只不过之前用的交叉编译工具链是Linux-Arm环境的,今天是Linux-x86_64的,步骤上其实一模一样,不同之处就是用的交叉编译工具链不一样。

之前的交叉编译教程博客链接: https://www.cnblogs.com/Clark-Zhang/p/16303434.html

linux-x86_64交叉编译工具链下载地址: https://pan.baidu.com/s/1gXCe9VzzvGAcdcfiYNG3hw?pwd=4h3u 提取码:4h3u

下载完后解压会得到一个文件夹,里面包含gcc-9.3.0文件夹和ubuntu-x64.cmake文件,把这两个东西与之前配置linux-arm时所用的gcc-7.5文件夹以及arm.cmake放在同一目录即可,然后按照教程步骤一步步来即可,linux-arm便用arm.cmake,linux-x86_64便用ubuntu-x64.cmake。

  配置完后就能够点击build一键变异出运行在Linux-x86_64环境中的程序了(需要系统最低ubuntu-20.04)。

  经过我的测试,正常编译C++程序是没什么问题的,但是如果程序调用了其他x86系统上编译的库,cmakelist.txt中可能需要加上add_compile_options(-fno-stack-protector),就在一开始加就行,否则编译会不通过。

  综上,我感觉交叉编译勉强能用,但是却又感觉有那么一点瑕疵,所以我推荐用WSL的方式,配合VScode相当于本机编译了,没用过的人可能会觉得装个linux系统好麻烦,不想用,但是相信我,我也是个怕麻烦的人,我觉得好用的,那说明操作十分傻瓜化,用户体验很好。下面就开始介绍WSL方式。

四、WSL(根据官方文档,必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11)

  1. 安装wsl

  1.1 自动安装 

    打开命令行输入wsl --install,自动安装,然后重启电脑。(我用的不是这种方法,下面我会介绍手动安装,其实也没几步)

  1.2 手动安装

  ① win+i 键,在弹出的设置界面中点击更新和安全

  

 

   ② 点击左边列表中的开发者选项,将开发人员模式打开,默认是关的

  

 

   ③ 返回设置主页面,点击应用

  

 

   ④ 点击可选功能

  

 

   ⑤ 进去后拉到最下面,点击更多windows功能

  

 

   ⑥ 在弹出的窗口中拉到最下面,将图中所示勾选上。

  

 

   ⑦ 打开微软应用商店

  

 

   ⑧ 输入ubuntu进行搜索

  

 

   ⑨ 选择你想要的安装的ubuntu版本,我装的是20.04.4

   ⑩ 安装时会让你设置用户名和密码,随便起。大概几分钟就能装好

  2. 配置环境

  以上步骤已经将linux系统装好了,但是想要编译程序还需要安装cmake以及gcc

  以下命令都是在wsl命令行中输入

  2.1  sudo apt-get update (更新环境,需要等一会)

  2.2  sudo apt-get install g++(安装编译所需环境)

  2.3  sudo apt install cmake (安装cmake)

  3. 使用vscode

  3.1 vscode新建一个窗口

  3.2 安装远程插件

  

 

   3.3 点击vscode左下角绿色图标

  

 

   3.4 选择图中所示这个,然后vscode能够直接连接到wsl,十分便捷!

  

 

   连接成功会显示下图这个

  

 

   3.5 然后选择打开文件夹,打开需要编译的项目,支持直接访问windows盘上面的文件夹,目录在/mnt, 下面就是各个盘符

  

 

   

 

  3.6 之后就跟正常编译项目一样,选择编译器进行编译。

 、总结

  我个人更推荐wsl,跟本机编译没什么差别,而且和windows互通,访问文件十分方便。

标签:cmake,x86,编译,Windows,VSCode,64,linux,安装
来源: https://www.cnblogs.com/Clark-Zhang/p/16309189.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有