# t2/ CMakeLists.txt

cmake_minimum_required(VERSION 2.8)

#1
#PROJECT (HELLO)
#SET(SRC_LIST main.c)
#MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR})
#MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
#ADD_EXECUTABLE(hello ${SRC_LIST}) #2
#PROJECT(HELLO)
#ADD_EXECUTABLE(hello main.c) PROJECT(HELLO)
ADD_SUBDIRECTORY(src bin)
//main.c

#include <stdio.h>
int main()
{
printf("Hello World from t1 Main!\n "); return ;
}
#  t2/src/CMakeLists.txt

ADD_EXECUTABLE(hello main.c)
u@u160406:~/learn_Cmake/cmake/t2$ ls
build CMakeLists.txt src
u@u160406:~/learn_Cmake/cmake/t2$ tree
.
├── build
├── CMakeLists.txt
└── src
├── CMakeLists.txt
└── main.c directories, files
u@u160406:~/learn_Cmake/cmake/t2$ cd build
u@u160406:~/learn_Cmake/cmake/t2/build$ cmake ..
-- The C compiler identification is GNU 5.4.
-- The CXX compiler identification is GNU 5.4.
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/u/learn_Cmake/cmake/t2/build
u@u160406:~/learn_Cmake/cmake/t2/build$ make
Scanning dependencies of target hello
[ %] Building C object bin/CMakeFiles/hello.dir/main.c.o
[%] Linking C executable hello
[%] Built target hello
u@u160406:~/learn_Cmake/cmake/t2/build$ cd bin
u@u160406:~/learn_Cmake/cmake/t2/build/bin$ ./hello
Hello World from t1 Main!
u@u160406:~/learn_Cmake/cmake/t2/build/bin$

CMake---基础练习2的更多相关文章

  1. <<Modern CMake>> 翻译 2. CMake 基础

    <<Modern CMake>> 翻译 2. CMake 基础 最低版本 这是每个 CMakeLists.txt 文件的第一行.CMakeLists.txt 是 CMake 所 ...

  2. CMake基础教程

    如果需要配置和检查我们工程中的所有依赖,那么可以选用CMake工具:但是,这并不是必须的,因为我们可以使用其他的工具或者是IDE(比如Makefiles或者Visual Studio)来配置我们的工程 ...

  3. 【转载】CMake 简介和 CMake 模板

    转载自我的博客: CMake 简介和 CMake 模板 . 如果你用 Linux 操作系统,使用 cmake 会简单很多,可以参考一个很好的教程: CMake 入门实战 | HaHack .如果你用 ...

  4. CMake与MSVC工程化实践

    CMake与MSVC工程化实践 CMake基础 cmake无疑是最流行的c++跨平台构建工具之一,关于cmake入门指南这里不再赘述,官方文档是最好的参考,这里通过一个例子简述构建一个工程常用的函数和 ...

  5. ARTS-S cmake,googletest使用

    编译gtest 下载指定tag的源代码 git clone https://github.com/google/googletest.git cd googletest git checkout ta ...

  6. CMake方式编译

    [1]CMake基础 CMake是一种跨平台编译工具 CMake主要是编写CMakeLists.txt文件 通过CMake命令将CMakeLists.txt文件转化为make所需的Makefile文件 ...

  7. mingw 编译 glfw3 的 helloworld

    glfw3 为基础开发 GUI 似乎是一个不错选项,有很多人尝试这么做了.今天也小试一把. 工具: mingw(不是 mingw-w64),头文件 GLFW/ ,库文件 glfw3.dll 需要注意, ...

  8. 编译opencv4.5.0

    1. 环境vs2017或其它版本cmake-3.18设置环境变量OPENCV_TEST_DATA_PATH 值设置为 D:\sdk\vs2017\opencv-4.5.0\opencv_extra-4 ...

  9. 【linux基础】CMake如何生成动态链接库文件

    CMakeLists.txt SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib) ADD_LIBRARY(filename SHARED ${CURREN ...

  10. CentOS安装LNMP环境的基础组件

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...

随机推荐

  1. Tools - Summary List

    通用 PicPick:https://picpick.app/zh/ Q-Dir:http://www.softwareok.com/?Download=Q-Dir 7-Zip:https://www ...

  2. AWS 架构最佳实践概述(十一)

    AWS 架构最佳实践 AWS合理架构的框架支柱 安全性 - 保护并监控系统 能够保护信息.系统和资产 通过风险评估和缓解策略 可靠性 - 从故障中恢复并减少中断 从基础设施或服务故障中恢复 动态获取计 ...

  3. consul服务注册与服务发现的巨坑

    最近使用consul作为项目的服务注册与服务发现的基础功能.在塔建集群使用中遇到一些坑,下面一个个的记录下来. consul集群多node consul集群的node也就是我们所说的consul实例. ...

  4. 【GStreamer开发】GStreamer播放教程04——既看式流

    目的 在<GStreamer基础教程--流>里面我们展示了如何在较差的网络条件下使用缓冲这个机制来提升用户体验.本教程在<GStreamer基础教程--流>的基础上在扩展了一下 ...

  5. 最新 上海轻轻java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.上海轻轻等10家互联网公司的校招Offer,因为某些自身原因最终选择了上海轻轻.6.7月主要是做系统复习.项目复盘.Leet ...

  6. 小程序开发框架----WXSS

    规定了屏幕宽度为750个RPX,从而可以通过屏幕宽度来进行自适应

  7. php实现文件与16进制相互转换

    php实现文件与16进制相互转换 <pre><?php/** * php 文件与16进制相互转换 * Date: 2017-01-14 * Author: fdipzone * Ve ...

  8. JVM(一) 内存结构

    JVM内存结构 方法区(JDK8以上叫元空间)和堆为线程共享区,虚拟机栈.本地方法栈及程序计数器为线程独占区,  还有一个没有在下图中体现的叫做直接内存(Direct Memory),不受JVM GC ...

  9. dotnet core use MangoDB

    安装MangoDB 同样我这边再次使用Docker, 方便快捷: # 拉取镜像 docker pull mongo # 运行镜像 docker run -d -p 37017:27017 --name ...

  10. Java常用命令:jps、jstack、jmap、jstat(带有实例教程)

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013310517/article/details/80990924 查看Java进程:jps ...