Cmake生成Makefile

cmake 相比automake 最大的区别是: 步骤没有automake那么多

main.cpp

#include<iostream>
#include"student.h"
using namespace std;
int main()
{
   Student stu;
   stu.set();
   stu.display();
  cout<<"i am soyo"<<endl;
  return 0;
}

student.cpp

#include<iostream>
#include"student.h"
using namespace std;
void Student::display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
void Student::set()
{
cin>>num>>name>>sex;
}

student.h

#include<iostream>
#include<string>
using namespace std;
class Student
{
   public:
          void set();
          void display();
   private:
          int num;
          string name;
          char sex;
};

cmake过程:

1.建一个CMakeLists.txt文件:(CMakeLists.txt 文件名字要正确,不然无法执行cmake .)

 CMakeLists.txt:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 3.5.1)

# 项目信息
project (main)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

# 指定生成目标
add_executable(main ${DIR_SRCS})

2.cmake .
3. make
4.生成可执行的文件

原文地址:https://www.cnblogs.com/soyo/p/8847329.html

时间: 2024-08-11 20:31:09

Cmake生成Makefile的相关文章

cmake利用toolchain.cmake生成makefile之后,make生成静态库失败问题

问题描述 利用toolchian.cmake设置好编译器后,利用make指令生成静态库,出现以下问题 Error running link command: No such file or directory 出错原因,toolchain.cmake文件内没有声明静态库生成器AR:解决方式,在toolchian.cmake文件内添加下面的声明 SET(CMAKE_AR $(TOOLCHAIN_DIR)/bin/arm-linux-gnueabihf-ar CACHE FILEPATH "Arch

mcstructs使用CMake生成Makefile文件

CMakeLists.txt project(MCSTRUCTS) set(SRC_LIST src/main.c src/mcslist.c src/mcsringbuf.c) add_executable(mcstructs ${SRC_LIST}) 执行过程: [email protected]:~/projects/mcstructs$ cmake . -- Configuring done -- Generating done -- Build files have been writ

使用Cmake生成OA信用盘平台出租跨平台项目编译解决方案

项目最近OA信用盘平台出租haozbbs.comQ1446595067 有需求在windows下面运行,我花了几周时间将linux的服务器移植到windows下面,目前已经能够正常运行服务器,目前又有了新需求,两边的代码结构和组织是分开的,因此为了两边能够同步维护,需要一个能够跨平台的项目编译解决方案,经过调研之后,选择了使用cmake这个工具,本文主要讲述,使用cmake的生产项目的一些基础知识.一.cmake简介 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmak

使用qmake生成Makefile

手动写Makefile是一件痛苦的事情,稍不小心就会出错,不过qmake可以让你脱离苦海 qmake可以根据你提供的.pro文件,生成Makefile 又是要些.pro文件呀!,不过他可比Makefile简单多啦,一分钟你就能学会 简单的.pro文件 SOURCES += hello.cpp HEADERS += hello.h CONFIG += cnosole warn_on debug 只配置这三项就可以生成Makefile SOURCES 写出源文件的位置,支持相对路径,支持通配符 SO

自动生成Makefile文件

主要的工具有autoscan, aclocal, autoheader, autoconfig,automake 1 .创建c源文件hello.c 1 #include <stdio.h> 2 3 int main(){ 4 return 0; 5 } 2.执行autoscan命令 这是目录下会多出configure.scan和autoscan.log文件,我们以configure.scan文件为模板进行修改,将configure.scan重命名改为configure.ac (好多博客写的是c

生成Makefile自动化编译文件

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率.make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make.可见,makefile都成为了一种在工程方面的编译方法. 那么如何才能生成Makefile文件呢??好吧,让我们一起进入今天的正题吧! 1.首先生成一个目录:mkdi

使用automake、autoconf生成MakeFile文件

从helloworld入手 我们从大家最常使用的 例子程序helloworld开始. 下面的 过程如果简单地说来就是 : 新建三个文件: helloworld.c configure.in Makefile.am 然后执行: aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld 就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过. 很简单吧,几条命令就可以做出一个符合惯例

AutoConf自动生成Makefile(基于helloworld简单例子)

新建一个简单的helloworld工程文件夹,目录结构如下 hello.h代码: #include<stdio.h> void fprint() { printf("hello world!\n"); } hello.c代码: #include"hello.h" int main() { fprint(); return 0; } 利用AutoConf工具套件来自动生成Makefile 1. 进入helloworld/目录,运行autoscan 生成au

linux学习笔记(一) 使用automake生成Makefile

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系