1. 编译单个文件

利用cmake进行编译

首先在项目文件夹中创建.cpp文件  利用最简单的 hello world

#include<iostream>
using namespace std;
int main()
{
cout << "Hello World!"<< endl;
return ;
}

touch CMakeLists.txt 文本

#指定cmake最低版本
cmake_minimum_required(VERSION 2.8)
#指定项目名称
project(c_hello)
#设置源文件名称
set(DIR_SRC Helloworld.cpp)
#生成可执行文件 名称
add_executable(C_helloworld ${DIR_SRC})

在当前目录下创建build文件夹,进入文件夹 cmake .. ,生成Makefile,在执行make ,则生成可执行文件

利用g++进行编译

g++编译比较简单 创建.cpp后 执行 g++ Helloworld.cpp -o hello 即在当前文件夹下创建hello可执行文件

2. 编译多个文件

创建三个文件 add.h add.cpp 和 main.cpp

// add.h
#include<iostream>
int add(int a,int b); //add.cpp
#include "add.h"
int add(int a, int b)
{
return a+b;
} // main.cpp
#include"add.h" using namespace std; int main(int argc,char *argv[])
{
int a = ;
int b = ;
cout << "a + b = " << add(a,b)<< endl;
return ;
}

利用cmake进行编译 只需要在CMakelists.txt 增加对应.cpp文件即可

CMakelists.txt 文件

#指定cmake最低版本
cmake_minimum_required(VERSION 2.8)
#指定项目名称
project(c_main)
#设置源文件名称
set(DIR_SRC
add.cpp
main.cpp)
#生成可执行文件 名称
add_executable(C_main ${DIR_SRC})

利用g++ 进行编译  g++ add.cpp main.cpp -o main

g++ [.cpp .cpp] -o [执行程序名称]  不需要输入.h 前提是头文件在当前目录下

Linux_Ubantu下编译c++文件的更多相关文章

  1. linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

    一.linux下编译make文件报错“/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101 ...

  2. c# 命令行下编译c#文件 // c# file类读写文件

    c# 命令行下编译c#文件 2010-03-01 15:02:14|  分类: c# 学习|字号 订阅     在 开始  ——>程序 ——>vstool中打开vs2008命令提示. 通过 ...

  3. 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

    PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plai ...

  4. [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

    在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc ...

  5. 解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”

    本人经常在Linux通过编译 .sh文件来生成工程,之前一直都没问题,代码一直都没变,但是今天编译的时候,却提示错误:

  6. xcode下编译.a文件的路径

    http://www.it165.net/pro/html/201503/36842.html 每当我们编译之后, 实际上系统就给我编译好了一个可以运行的.app文件,在某个路径下 如果我们建立的是静 ...

  7. N2N windows下编译安装文件

    n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...

  8. Ubuntu下编译c文件时,遇到math.h头文件不能编译问题

    以前都是在VC或者VS中编写c语言程序,今天尝试在Ubuntu下试着编写了一个简单的画正弦函数的程序,用到了头文件math.h,但是编译的时候报错了: 经查资料后才知道,数学函数位于libm.so库文 ...

  9. 解决Linux下编译.sh文件报错 unexpected operator Syntax error: word unexpected

    执行一个脚本  发现报语法错误,但是在其他机器上运行都没有问题 唯一的区别就是 一个是centos机器  报错的是ubuntu 网上搜索了一下 因为Ubuntu默认的sh是连接到dash的,又因为da ...

随机推荐

  1. Ubuntu上配置vtk开发环境——基于visual studio code 与 gcc

    环境说明 vtk版本7.1.1 visual studio 1.16.1 Ubuntu 16.04 + 自带的gcc 编译过程与windows下类似还好,运行自己的代码开始面对cmake与make的各 ...

  2. 小程序 之wx.request和wx.showModal简单封装

    一.request封装 request(url, data, successCallBack = function(data) {}, completeCallBack = function(data ...

  3. linux的free命令详解-内存是拿来用的不是拿来看的

    $ free -m total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 第一部分Mem行:total 内存总数: 1 ...

  4. TortoiseGit进行squash后冲突,如何撤销

    还没有commit之前,需要撤销. 最暴力的,直接用git reset --hard HEAD How to undo a git merge squash? If you run git merge ...

  5. redis配置注意事项(适合于较大配置)

    根据官方的建议,redis-server的相关配置建议如下,但是有些并不合适,LZ会进行说明(如果redis使用的内存还不到1GB,或者大量qps还不到1000的应用,这已经淘汰了99%的应用,很多配 ...

  6. MongoDB基础笔记

    MongoDB show dbs 查看当前的数据库 use test 选库 show tables/collections 查看当前库下的文档 db.help() 查看帮助 db.createColl ...

  7. android中SpannableString之富文本显示效果

    SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法 ...

  8. saveLayerAlpha简单入门

    package com.loaderman.customviewdemo; import android.content.Context; import android.graphics.*; imp ...

  9. IDEA 不编译java以外的文件

    解决办法:修改pom 文件 <build> <resources> <resource> <directory>src/main/java</di ...

  10. mysql创建数据库、表、写数据

    mysql> create database ceshi; Query OK, 1 row affected (0.01 sec) 给数据库授权,否则程序时无法连接ceshi数据库的,每次创建一 ...