ubuntu下编译C++程序

1、CMake

定义:CMake是一个跨平台编译工具,可以用来自动输出makefile文件;

用法:(1)想要自动生成makefile,还需要编写对应的CMakeLists.txt文件;

   (2)在CMakeLists.txt的同级目录下使用"cmake ."命令就能生成对用的makefile文件;

语法解释,以下面这个脚本为例:

cmake_minimum_required(VERSION 2.8)  //cmake最低要求版本2.8以上
project( DisplayImage )  //project不是强制性的,最好加上,这会引入两个变量:DISPLAYIMAGE_BINARY_DIR和DISPLAYIMAGE_SOURCE_DIR
find_package( OpenCV REQUIRED ) //寻找库文件
add_executable( DisplayImage DisplayImage.cpp )  //生成可执行文件
target_link_libraries( DisplayImage ${OpenCV_LIBS} ) //可执行文件和库之间建立链接

2、makefile

定义:makefile是一个文件,它定义了一系列的规则来指定,哪些文件需要先编译,哪些后编译,哪些需要重新编译,甚至于进行更复杂的功能操作;

cmake和makefile的关系如下:

第一个例子:编译一个opencv小程序

(1)编写源文件

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
//DisplayImage.cpp
int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out <Image_Path>\n");
        return -1;
    }
    Mat image;
    image = imread( argv[1], 1 );
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}

(2)编写CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

(3)编译

cmake .
make

(4)执行

./DisplayImage lena.jpg

(5)结果

原文地址:https://www.cnblogs.com/zf-blog/p/11904303.html

时间: 2024-10-10 04:16:28

ubuntu下编译C++程序的相关文章

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

Ubuntu下编译WifiDog程序

下面我做的视频教程,假如大家有相关疑问可以通过视频中的地址找到我 本文章由 http://www.wifidog.pro/2015/03/20/Ubuntu%E4%B8%8B%E7%BC%96%E8%AF%91WifiDog%E7%A8%8B%E5%BA%8F.html 整理编辑,转载请注明出处

在Ubuntu下编译Assimp库

在Ubuntu下编译Assimp库 如何在Ubuntu下编译Assimp库?这是我以前编译成功后做的笔记,供参考. 1.去下面的网站去下载Assimp库: http://assimp.sourceforge.net/ 2.安装cmake,似乎Assimp库只能通过cmake和vs工程文件进行构建,普通的makfile是通过它来产生的.Ubuntu下使用sudo apt-get install cmake.然后通过cmake --version查看cmake的版本,我cmake版本是2.8.11.

Ubuntu下编译3.0.4内核

Ubuntu下编译3.0.4内核 Linux内核3.0版本发布已有一段时间了,不知道这个版本号大跃进的内核是否好用.目前各个发行版的linux还仍未采用3.0的内核,因此可以自己动手编译内核来感受一下!趁着这次编译内核的机会可以再熟悉一下编译内核的步骤. 1.下载并解压内核到任意目录 从源码官网下载最新的内核源码3.0.4,可以解压至任意目录,我放在主目录下: 1 ~$ tar xjvf linux-3.0.4.tar.bz2 2.配置内核 对内核进行配置是为了得到内核配置文件.config.通

Ubuntu下编译Android JNI实例全过程

第一步:保证make和gcc可用 在shell中输入make-v,不报错就是对的.(可参考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc-v,不报错就是对的. 第二步:安装NDK 下载NDK后,设置环境变量: 将android-ndk的路劲加到环境变量PATH中:sudogedit /etc/environment 然后再让这个更改的环境变量立即生效:source /etc/environment

《Swift入门》ubuntu下编译运行Swift开发的Web后端示例

这里只是演示如何在ubuntu下编译运行Swift开发的Web后端项目. 项目代码来自Bluemix上提供的示例代码,如果你有账号,可以去自己的空间下载,没有的话,可以通过下面的地址下载: http://download.csdn.net/detail/testcs_dn/9513395 编译环境安装配置请参考:Ubuntu 14 server安装Swift运行环境 环境配置好之后,将下载的示例代码解压出来: 主要代码是"main.swift",内容如下: /** * Copyrigh

ubuntu下编译VLC源码

http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 5761人阅读 评论(0) 收藏 举报VLC 操作系统选择:http://old-releases.ubuntu.com/releases/14.04.0/ubuntu-14.04-desktop-amd64.iso sudo apt-get install已经安装了freescale的i.MX6Q的a

Ubuntu下编译安装QEMU

Ubuntu下编译安装QEMU 由于环境需求,今天在ubuntu14.04的环境下手动编译安装了QEMU2.1.2. QEMU下载地址:http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2 具体下载及解压步骤这里就不在赘述了,主要就是说下环境准备的一些依赖包,编译QEMU最重要的就是gcc,所以我们要先把gcc安装上. [email protected]:~# apt-get install gcc-3.4 cpp-3.4 安装QEMU

Ubuntu下删除卸载程序图标

Ubuntu下删除卸载程序图标 方法一:直接在终端输入命令alacarte.可以任意增.改.隐藏.显示菜单,但无法删除菜单,即使拥有root权限. 方法二:注意几个目录和文件./usr/share/applications/下的desktop文件/usr/share/applications/mimeinfo.cache文件~/.local/share/applications下的desktop文件~/.local/share/applications/default.list目录下的文件~/.