关于VS2015支持编译Linux程序的问题
现状
目前已经发布的VS2015中包括VS2015 Preview 以及 VS2015 CTP6,这两个版本均不支持直接编译C++代码为Linux程序,具体情况可以参考 Visual Studio 2015 CTP 6 和 Visual Studio 2015 Preview。
正式版发布时间
在微软官网没有找到明确的发布时间,只是说在今年晚些时间发布。另外Windows10正式版的发布时间为夏末秋初,推测到时候VS2015正式版也会一起推出,参考文章夏末秋初!Windows 10正式版发布时间确认。
可能的问题
从目前各种资料来看,VS2015正式版发布后,有可能会支持Linux程序的开发和编译,但更大的可能性是通过C#开发,来达到跨平台的可能,目前微软已经开源了DotNet CoreCLR,计划支持Windows、Linux、IOS三个平台。
从Opening up Visual Studio and .NET to Every Developer, Any Application: .NET Server Core open source and cross platform, Visual Studio Community 2013 and preview of Visual Studio 2015 and .NET 2015 这篇文章看,目前VS2015预览版已经通过Clang和Llvm支持了C++开发Android程序,即将会支持IOS程序。由此可以推断,VS2015也可能会支持C++开发Linux程序,并且是通过Clang编译器进行编译。 这种情况下,VS会提供编辑和编译的功能,应该不会具有调试Linux程序的功能,即使可以调试,也必须配置虚拟机才行。同样还有可能有下面的限制,用C++开发,还必须使用标准语法,不能直接调用Windows API、Windows特有的库,必须使用跨平台的库才行,MFC程序可能还是无法跨平台,开发界面程序需要Qt或者C#等。
其他方案
即使VS2015正式版发布后,不支持C++直接编译生成Linux程序,那么还是有其他的可选方案,比如:VisualGDB。VisualGDB是VS的一个插件,安装了此插件后,就可以使用VS进行编辑、编译、调试Linux程序,当然,必须准备一个Linux系统的虚拟机。它的原理是使用VS编译代码,使用SSH+GCC进行远程编译,使用SSH + gdbserver + gdb进行远程调试。而且,使用VisualGDB后,只需要懂简单的make或者CMake语法,就可以进行完整的开发调试,智能提示、调试程序与VS开发Windows程序基本上没有区别。
VisualGDB不止支持Linux系统,还支持Solaris等Unix系统、Mac、嵌入式、Cygwin等操作系统,基本上,只要支持SSH、gcc、gdbserver的系统,都可以使用VS + VisualGDB的方式进行开发。 比如:
其他参考资料
Visual Studio Upcoming Features Timeline
微软公布VS 2015产品线,可直接生成Linux二进制程序
关于VS2015支持编译Linux程序的问题的更多相关文章
- delphi怎样编译LINUX程序
delphi编译LINUX程序 DELPHI XE 10.2(TOKYO)开始可以开发LINUX控制台程序. 1)上传PASERVER到LINUX,并且运行PASERVER. 2)开始编译,PROFI ...
- Windows10 VS2017 C++编译Linux程序
#include <cstdio> #include <iostream> #include "unistd.h" using namespace std; ...
- 在虚拟机上利用宿主机共享目录编译linux程序
#前提条件: 宿主机:windows7 虚拟机:REDHAT 开发环境 qt4.7.4 +vs2010 . 代码在windows7 上编译成功 ,运行正常 在linux下编译需要的第三方库已经编译成功 ...
- vs2015上编译QT程序的环境搭建
下载相对应版本的QT(以QT5.7.0为例),进入网站http://download.qt.io/archive/qt/5.7/5.7.0/,下载MSVC版本QT,我的系统是64位,VS版本是2015 ...
- vs2017 编译linux项目
官方文档1: https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/ ...
- 使用VS+VisualGDB编译调试Linux程序
Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...
- Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- 35、在编译Linux内核中增加程序需要完成以下3项工作
在编译Linux内核中增加程序需要完成以下3项工作: 将编写的源代码拷入Linux内核源代码的相应目录. 在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项 在目录的Makefile文 ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
随机推荐
- TODO:macOS编译PHP7.1
TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...
- In-Memory:内存优化表的事务处理
内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row ve ...
- C语言 · 时间转换
问题描述 给定一个以秒为单位的时间t,要求用"<H>:<M>:<S>"的格式来表示这个时间.<H>表示时间,<M>表示分 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
- 【接口开发】浅谈 SOAP Webserver 与 Restful Webserver 区别
接口,强大,简单,交互,跨越平台 下面简单阐述这两大接口思想 一 REST: REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...
- ASP.NET Core的路由[3]:Router的创建者——RouteBuilder
在<注册URL模式与HttpHandler的映射关系>演示的实例中,我们总是利用一个RouteBuilder对象来为RouterMiddleware中间件创建所需的Router对象,接下来 ...
- 8、Struts2 运行流程分析
1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...
- 在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
- Unity3D 5.3 新版AssetBundle使用方案及策略
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要 ...
- 如何使用dos命令查看MySQL当前使用的数据库?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select database(); 如图: