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. Java学习日记——基础篇(二)基本语法

    变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...

  2. Why use swap when there is more than enough RAM.

    Swappiness is a property of the Linux kernel that changes the balance between swapping out runtime m ...

  3. thymeleaf 声明

    <!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd&qu ...

  4. Cesium中常用的一些地理数据文件 以及数据相关的东西

    KML Cesium.KmlDataSource.load CZML Cesium.CzmlDataSource.load GeoJson Cesium.GeoJsonDataSource.load ...

  5. 微信小程序 scroll-view 填满剩余可用高度

    根据微信小程序 scroll-view 文档所述,scroll-view必须给定一个固定高度.那么如果我们想要让它自动填充剩余高度,该怎么办呢? 前言 在说出我的解决方案之前,先来看一下我的页面设计, ...

  6. 【Python】Python format 格式化函数(转帖)

    https://www.runoob.com/python/att-string-format.html Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符 ...

  7. LC 991. Broken Calculator

    On a broken calculator that has a number showing on its display, we can perform two operations: Doub ...

  8. [webpack]深入理解proxy代理

    1.一个基本的代理 module.exports = { //... devServer: { proxy: { '/api': 'http://localhost:3000' } } }; /api ...

  9. GoogleNet-ILSVRC-2014冠军

    Going deeper with convolutions-22层 https://my.oschina.net/u/876354/blog/1637819 那么,GoogLeNet是如何进一步提升 ...

  10. git clone时加上--depth 1

    当项目过大时,git clone时会出现error: RPC failed; HTTP curl The requested URL returned error: Gateway Time-out的 ...