这是一篇翻译,为什么突然想翻译文章了呢,因为很多大佬们都说英语对程序员还是挺重要的,毕竟互联网的最新技术基本都在歪果仁那边,如果英语不好,不会看国外的文档的话,将会错失接触第一手资料的机会,失去很多先机。虽然我现在是个小辣鸡,可我还是有梦想滴,向国内大佬看齐!

正题开始。

一、建立Linux开发项目

项目建立完成后,您就可以用vslinux服务器、桌面和设备上编写c++代码,您可以用vs管理这些机器的连接,vs将自动复制并远程构建你的源代码,并且可以通过调试器来调试和运行程序。我们的项目系统支持包括ARM在内特定的架构。

二、连接到Linux服务器

2.1 前提条件

目前我们仅仅支持在目标的linux机器上远程构建文件,我们不受特定的linux发行版本的限制但是我们又必须依赖一些工具。特别是openssh-server, g++, gdb 和 gdbserver这几款工具,您可以随意用一个管理安装包的工具来安装它们。(在基于Debian的系统上,使用“sudo apt-get install openssh-server g++ gdb gdbserver”命令就可以完成这些工具的安装)。

2.2 第一次连接

当您第一次连接到Linux机器上时,将会出现填写连接信息的提示,在Build(构建)项目时,将会自动触发该提示。

2.3 添加和删除连接

您可以前往Tools->Options,在搜索栏中搜索"connection",在connection manager中管理连接。同样,您也可以在Cross Platform选项卡中找到Connection Manager选项。

您可以在项目属性界面中的general settings中更改Remote Build Machine 选项来改变当前项目正在应用的连接。

三、项目属性

所有与C++ compilation有关的控制选项都在project properies 页面显示,我们将为您介绍一些特定于linux的细节。首先,在general settings选项中,您可以看到remote root被默认设置为 “~/projects/”,我们可以将该路径更改为我们实际的项目所在路径。

在General 选项中,我们可以配置Output Directory(输出路径) 和 Intermediate Directory(中间路径),我们同样可以更改Configuration Type来生成我们期望的文件类型,Configuration Type支持动态库和静态库。

在Linker选项组中的Input选项中我们可以添加静态依赖。

您可以向调试器传递一些额外的pre launch(预启动命令),以便完成在Linux服务器上完成一些类似于启动图形化应用程序的事情。

您同样可以发送Post Build events来远程控制服务器行为。在本例中,我们导出了一个 gpio pin(通用输入输出端口),这样可以在没有super user(超级用户)的权限下执行一些命令。

vs 搭配 Linux 开发的更多相关文章

  1. 虚拟机+桥接模式+Host-only模式 搭建完美的Windows下Linux开发环境

    相信有很多鞋童和我一个样是一枚Linux码农(我现在还是嵌入式方向). 做Linux开发势必需要一个Linux环境, 大多数开发者会首先选择一个Linux发行版, 其中Ubuntu LTS版本应该是选 ...

  2. 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测

    ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...

  3. 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...

  4. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  5. 嵌入式linux开发环境构建

    2.1硬件环境构建 2.1.1主机与目标板结合的交叉开发模式 在主机上编辑.编译软件,然后再目标办上运行.验证程序. 对于S3C2440.S3C2410开发板,进行嵌入式Linux开发时一般可以分为以 ...

  6. 嵌入式Linux开发板

    嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...

  7. linux开发神器--Tmux

    在Linux上工作的朋友,可能会常常遇到这种情况: 痛点1: 在公司用putty连着Linux开发机,程序正跑着,不知不觉到了下班的时候,要和老婆/女朋友约会了,但是程序还没跑完,并且进度有点紧,还得 ...

  8. 8月11日嵌入式Linux开发免费项目体验邀您参与

    嵌入式Linux开发免费项目体验开课啦~~我们特意邀请到粤嵌金牌讲师和技术专家,为大家带来精彩有趣的嵌入式公开课,涉及到嵌入式学习.研发的方方面面.课堂中我们能体验到的不仅仅是最新资讯.技术体验,还有 ...

  9. 信息安全系统设计基础实验一:Linux开发环境的配置和使用

    北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础    班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩:       指导教师:娄家鹏      ...

随机推荐

  1. YOLOv3 K-means获取anchors大小

    YOLOv1和YOLOv2简单看了一下,详细看了看YOLOv3,刚看的时候是蒙圈的,经过一番研究,分步记录一下几个关键的点: v2和v3中加入了anchors和Faster rcnn有一定区别,这个a ...

  2. C#实现的对文件的重命名

    如下C#实现对文件的重命名的方法需要传入三个string类型的参数,分别是源文件的文件目录.目的文件目录和重命名的文件名称,实现代码如下: public ExecutionResult FileRen ...

  3. Ubuntu 19.10 安装 jupyter

    安装pip3 ubuntu 19.10 已经没有python了,取代的是python3. 执行sudo apt install python3-pip安装pip3 安装jupyter 执行sudo p ...

  4. 怎样使用七牛云CDN加速并绑定阿里云域名

    昨天晚上在某个群里看到群友问,七牛云能不能绑定自己的域名作为静态资源文件的前缀,忽然想起来我已经有快两年时间没有登录过我的七牛云账号了,不禁老脸一红,这是有多久没有自己前后端都弄了,幸好还没有老年痴呆 ...

  5. 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第三节:WebResponse

    第二节中,我们介绍了WebRequest,它可以帮助我们发送一个请求,不过正所谓“来而不往非礼也”,对方收到我们的请求,不给点回复,貌似不太合适(不过,还真有脸皮厚的:P). 接下来,就重点研究一下, ...

  6. scala基本语法

    scala基本语法scala函数1 def定义方法2 方法的返回值类型可以省略3 方法体重最后一行计算结果可以返回 return 如果省略方法类型4 方法参数 要指定类型5 如果方法体可以一步搞定 方 ...

  7. Cannot create PoolableConnectionFactory (Could not create connection to database server.)

    是由于mysql驱动版本太低导致. 本人 jdk版本是1.8.0_211,mysql版本是8.0.17,mysql-connector-java版本是5.1.39, 后来把mysql-connecto ...

  8. kubernetes concepts -- Replication Controller

    Edit This Page ReplicationController NOTE: A Deployment that configures a ReplicaSet is now the reco ...

  9. 去除空白字符串trim

    let str = ' foo ' //去除开头空格 console.log(str.trimLeft()) console.log(str.trimStart()) //去除尾部空格 console ...

  10. Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件

    MyBatis 今天大年初一,你在学习!不学习做什么,斗地主...人都凑不齐.学习吧,学习使我快乐!除了诗和远方还有责任,我也想担当,我也想负责,可臣妾做不到啊,怎么办?你说怎么办,为啥人家能做到你做 ...