• 安装vs2017主要是想使用C++跨平台功能,Visual C++ for Linux,在vs下可以完成linux平台下的开发,调试,编译所有工作,非常方便。 1.2 我的环境 Windows10 + vmware12 + centos7 2、windows安装vs2017 2.1安装 ...
    1 前言
    1.1 背景介绍
    安装vs2017主要是想使用C++跨平台功能,Visual C++ for Linux,在vs下可以完成linux平台下的开发,调试,编译所有工作,非常方便。
    1.2 我的环境
    Windows10 + vmware12 + centos7
    2 windows安装vs2017
    2.1 安装
    下载安装包:https://www.visualstudio.com/zh-hans/downloads/,vs2017采用在线安装方式,在安装的过程中要保持网络通畅。
    打开vs2017安装程序,选择安装或者修改,我的安装过,所以是“修改”按钮,如果是第一次安装,是“安装”按钮,点击后,工作负载选项中滚动到下方,看到“其他工具集”中的“使用c++的linux开发”选项并勾选。我第一次安装的时候,同时安装了“windows”中的“使用c++的桌面开发”选项,根据自己需要选择并安装。
    ![安装界面](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAwMTI3Mzk0?x-oss-process=image/format,png)
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RH1wRsSQ-1572341189853)(https://img-blog.csdn.net/20170909200156584?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Vrb25naHlq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
    ![选择“使用c++的linux开发”](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAwMjM0MDk4?x-oss-process=image/format,png)
    安装相应语言包,选择语言包选项,勾选想要安装的语言,具体使用哪种语言在安装完并打开vs后再配置。
    ![选择语言包](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAwMzUzNTE4?x-oss-process=image/format,png)
    选择右下角的安装或者修改进行安装。
    2.2 通用配置
    (1)配置主题:安装后打开vs,第一次启动会让配置界面主题,根据自己喜好选择。
    (2)配置语言:tools->options->internation settings选择语言,这些可供选择的语言包就是在安装时选择的。
    ![配置语言](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAwODIzMjg2?x-oss-process=image/format,png)
    
    2.3 遇到的问题
    (1)visual studio 2017安装完成,但出现警告。
    ![出现问题](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAwOTA4MzU3?x-oss-process=image/format,png)
    解决办法:
    单独安装windows10 SDK,重试visual studio安装。Windos10 SDK下载链接:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
    
    3 Linux环境配置
    3.1 安装配套工具
    (1)安装openssh-server,gdb,g++
    输入如下命令:
    yum install openssh-server gdb gcc-c++ 
    注意:不是输入g++而是gcc-c++
    (2)安装Gdbserver
    在如下链接下载rpm包gdb-gdbserver-7.6.1-94.el7.x86_64.rpm:
    https://pkgs.org/download/gdb-gdbserver
    输入如下命令:
    rpm –i gdb-gdbserver-7.6.1-94.el7.x86_64.rpm
    或者:yum install gdb-gdbserver
    4 使用vs开发linux c++程序
    4.1 最简单的linux程序
    下图流程完成了一个最简单linux程序的建立,调试,运行工作。看了下图,对vs如何开发linux c++程序有了一个整体的了解。
    ![简单linux c++程序建立流程](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxMTU3NjY4?x-oss-process=image/format,png)
    4.2 Linux程序的属性配置以及开发流程说明
      Linux程序的配置都在:右键单击自己的工程,选择properties后显示的界面配置。在这里总结我用到的配置选项。
    (1)General
        一些通用配置。
    ![通用配置](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxMjQ0Mjkx?x-oss-process=image/format,png)
    1)Remote Build Machine
    在4.1的流程中,第一次建立程序调试时,vs没有保存任何远程linux机器信息,所以会让你配置远程linux信息,这部分相当于用ssh连接到虚拟机中的linux系统,跨平台的实现其实是将我们在windows的vs下实现的代码拷贝到linux下,开发人员在windows端操作vs使程序在linux平台下编译运行,vs再显示相应的结果。
    同时,我们也可以通过tools->options->Cross Platform->Connection Manager下增加远程linux机器信息。
    ![配置远程Linux](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxNTAxODYw?x-oss-process=image/format,png)
    然后,在工程的属性中选择一个机器进行连接。Remote Build Machine,在下拉菜单中选择自己想连接的linux机器。
    2)Remote Build Root Directory:远程Linux文件夹,程序编译完成会自动拷贝到linux系统中的这个目录下。
    3)Configuration Type:输出目标文件类型,输出可执行文件,静态库,动态库等。
    (2)Debugging
    配置调试信息。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdnfBDep-1572341189861)(https://img-blog.csdn.net/20170909201551201?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Vrb25naHlq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
    1)Pre-Launch Command:配置在调试前,希望在linux中先执行的命令。
    2)Program:如果不想直接执行生成的目标文件,可以在这里配置自己的linux中想要调试的程序。开发人员在vs中调试这个程序。
    3)Program Arguments:如果调试的程序需要参数,在这里输入。
    (3)VC++ Directories
    ![VC++ Directories](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxNjI4MDE2?x-oss-process=image/format,png)
    1)Include Directories:配置在windows下的头文件路径,主要用于自动补全。
    方法1:需要手动将linux下面的/usr/include、/usr/local/include等目录复制到vs的linux header path(如:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Linux\include\usr)
    方法2:将linxu的/usr/include,/usr/local/include通过samba共享到windows并设置一个连接,将这个路径直接设置为链接的路径。
    (4)c/c++
    这部分是编译阶段的配置信息。vs会根据这部分的配置生成g++的部分参数。
    ![c/c++](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxNzEwMzY1?x-oss-process=image/format,png)
    1)General->Additional Include Directories:配置在Linux下编译时使用的头文件,会生成g++的-I[path],界面下方有描述。
    2)General->C Compiler,C++ Compiler,填写编译器名称,我们使用默认g++。
    3)Command Line:在界面上方为vs根据配置自动生成的g++命令,下方可以自己再添加任意的g++参数。
    ![Command Line](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxODE5ODQ1?x-oss-process=image/format,png)
    (5)Linker
    这部分是链接阶段的配置信息。vs会根据这部分的配置生成g++的部分参数。
    ![Linker](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAxODQyNzA2?x-oss-process=image/format,png)
    1)Input:输入链接的库,会生成g++的-lFILE
    2)Command Line:在界面上方为vs根据配置自动生成的g++命令,下方可以自己再添加任意的g++参数。
    4.3 调试相关配置
    Tools, Options ->Projects and Solutions->Build and Run. 
    将MSBuild Project output verbosity 和MSBuild Project log file verbosity选项改选成diagnostic,这样可以看到所有的详细信息,可以看到使用g++编译和链接时生成的所有错误信息。
    ![调试相关配置](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAzNjIyNTI2?x-oss-process=image/format,png)
    4.4 打开Linux控制台
    Debug->Linux Console:这样可以看到Linux打印出来的所有信息。
    ![Linux控制台](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTA5MjAzNzM0OTI4?x-oss-process=image/format,png)
    经过这些配置后,再结合4.1的流程,进行Linux c++跨平台程序的开发调试和运行。
    
    
    
    
    展开全文
  • 因为想要把程序从Windows平台移植到Linux平台,故写了此系列文章,以方便以后自己和大家,少走弯路 整个环境采用CentOS7+QtCreator+cmake+gcc的形式 1、从https://www.centos.org/download/上下载CentOS镜像,我选...
  • 一、linux下的c/c++编程——入门级知识 1linux安装 首先安装linux操作系统,一般初学者还是在vm上安装linux学习比较好,操作系统选择ubuntu或者redhat比较合适(用的人多O(∩_∩)O)。 vm的安装比较简单,在此不...
  • 在内容编排上,先介绍Linux的安装、基本使用和配置,然后再开始介绍在Linux下的C/C++开发技术: gcc命令行、Makefile、gdb调试方法、动态库与静态库、pthread线程、进程、进程间通信、系统调用及杂项技术。...
  • 想学LinuxC++开发,java的idea用的很熟,下载windows的Clion,试了下很快上手了,但是怎么在windows的环境下开发linux的呢?在虚拟机里安装了linux的Clion,操作起来有点费劲(可能因为是虚拟机的关系),百度了...
  • 1,linux平台C++开发和win32 C++开发有什么区别呢? 2,除了C++语言,数据结构等必须的知识外,还需要些了解什么呢? 3,如何在linux平台开发C++应用程序呢? 相信许多之前没有开发linux平台程序的人也会有...
  • 上一篇文章LinuxC++的编程——开偏介绍中我们已经介绍了GUN、GCC、G++等一些重要的概念,现在应该开始动手实践了!开发工具的安装环境 Distributions版本:CentOS 6.7 Linux内核片:2.6.32-573.3.1.el6.i686一般...
  • 随着业务市场的不断壮大,更便捷的开发语言也越来越受到市场的欢迎。Java,python还有新贵golang。 那c/c++语言的开发者市场在哪里。虽然说没有活干说的可能过于夸张,但是面临的事实就是比不了。可能初学一点Java,...
  • LinuxC++开发入门指南 2018-03-22 09:52:07
    本文目的是针对将熟悉C/C++语法,如何在Linux下进行的C/C++开发的入门指南。Linux下的开发和在Windows下的开发类似,主要区别点在于操作系统不同,开发工具,开发API,编译调试方法不一样,故主要将针对这些不同点...
  • 本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,因为新装好的Ubuntu里面缺少函数库文件,所以无法编译最简单的C语言文件,故要先配置一番,这几天也有一点心得,写下来和...
  • 最爽的LinuxC++开发环境 2017-12-06 15:58:13
    在经历了, makefile开发C/C++, 文本编辑器的自我陶醉之后, 还是希望有个VS那样的IDE, 来的痛快啊. 今天, 无意中发现了一个最爽的LinuxC++开发环境. Linux环境 + Qt5.9 + CMake 使用方法: 1.新建CMakeLists....
  • LinuxC++开发入门指南  Alan Luo 2017-01-13 本文目的是针对将熟悉C/C++语法,如何在Linux下进行的C/C++开发的入门指南。Linu
  • Linux C/C++ 学习路线 2019-07-04 20:41:56
    一、秋招 Linux C/C++ offer 情况 二、Linux C/C++ 方向的一些思考 三、计算机基础知识的梳理 四、C++ 方向的深入学习路线 五、项目 + 亮点 + 面试的一些思考 六、总结 前言 Linux C/C++ 从零基础到大神的学习路线,...
  • 本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,因为新装好的Ubuntu里面缺少函数库文件,所以无法编译最简单的C语言文件,故要先配置一番,这几天也有一点心得,写下来和...
  • 然而Nginx是一个完全依赖C语言实现的程序,不能满足当前开发需要,于是我们可以通过C++的新特性来对Nginx进行二次开发使用gcc编译Nginx自身模块,使用C++开发用户模块并通过g++编译,然后使用g++对文件进行链接。...
  • 由于前段时间正好买了一个服务器来跑Tensorflow的推理模型,所以借这个机会把Linux开发也一并补上。 先声明我的服务器是Ubuntu16.04,下面文章的内容也是基于Ubuntu16.04的。为什么标题要写Linux呢?原因是我也...
  • linux & windows C++开发差异 2018-01-22 20:50:18
    linux下区分大小写,路径分隔符使用”/”。 2、itoa()函数在linux下并不存在。 所以使用类似sprintf();之类的函数是个不错的替代。(为什么说是类似函数,看下面一条啦) 3、 _snprintf()与_vsnprintf()的差别...
  • LinuxC++后台开发面试 2018-08-28 20:35:54
    本文将讲述(Linux)服务器后台开发岗位的要求,包含了大部分会遇到的面试题目。掌握文中提到的技术,也算少许入门水平了,此文既是面经,也是后台开发的入门手册。无论社招还是校招,都可作为一个参考。 本文内容...
  • linuxC++开发工具 2016-05-08 09:08:04
    C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。 Windows下,开发工具多以集成开发环境...
  • 苦逼的c++程序员还没找到工作,所以顺便开始写服务器练手。。 1.我的电脑是win10的,所以先去网上下虚拟机,我下载了 ,然后安装了。 2.新建了一个ubuntu 32位的虚拟电脑。(我划分的是固定大小硬盘,幸好我划...
1 2 3 4 5 ... 20
收藏数 199,715
精华内容 79,886