在CMake中自定义宏 add_definitions(-DDEBUG)

这篇具有很好参考价值的文章主要介绍了在CMake中自定义宏 add_definitions(-DDEBUG)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

heheda@linux:~/Linux/loveDBTeacher-v6$ tree
.
├── CMakeLists.txt
└── test.c

0 directories, 2 files
heheda@linux:~/Linux/loveDBTeacher-v6$
  • test.c
#include <stdio.h>
#define NUMBER 3

int main() {
    int a = 10;
#ifdef DEBUG
    printf("我是一个程序猿,我不会爬树...\n");
#endif
    for(int i=0;i<NUMBER;i++) {
        printf("Hello,I am Heheda\n");
    }
    return 0;
}
  • CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(MyProject)
add_definitions(-DDEBUG)
add_executable(app test.c)
执行命令:
1.mkdir build
2.cd build
3.cmake ..
4.make
5./app

执行结果:
heheda@linux:~/Linux/loveDBTeacher-v6$ mkdir build
heheda@linux:~/Linux/loveDBTeacher-v6$ cd build
heheda@linux:~/Linux/loveDBTeacher-v6/build$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- 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/heheda/Linux/loveDBTeacher-v6/build
heheda@linux:~/Linux/loveDBTeacher-v6/build$ make
Scanning dependencies of target app
[ 50%] Building C object CMakeFiles/app.dir/test.c.o
[100%] Linking C executable app
[100%] Built target app
heheda@linux:~/Linux/loveDBTeacher-v6/build$ ./app
我是一个程序猿,我不会爬树...
Hello,I am Heheda
Hello,I am Heheda
Hello,I am Heheda
heheda@linux:~/Linux/loveDBTeacher-v6/build$

在CMake中自定义宏 add_definitions(-DDEBUG),CMake 笔记,linux,CMake文章来源地址https://www.toymoban.com/news/detail-809315.html

到了这里,关于在CMake中自定义宏 add_definitions(-DDEBUG)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot中自定义拦截器

    Spring Boot 中使用拦截器 参考:https://blog.csdn.net/taojin12/article/details/88342576?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170823498416800197050192%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id=170823498416800197050192biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2 all top_positive~defa

    2024年02月19日
    浏览(58)
  • Spring中自定义Bean特性

    自定义扩展点 Spring框架提供了许多接口,可以使用它们来定制bean的性质。分组如下: 生命周期回调 ApplicationContextAware 和 BeanNameAware 其他 Aware 接口 为了与容器对bean生命周期的管理进行交互,可以实现Spring InitializingBean和DisposableBean接口。容器对前者调用afterPropertiesSet(),对后

    2024年02月16日
    浏览(39)
  • WPF中自定义Loading图

    纯前端方式,通过动画实现Loading样式,如图所示

    2024年02月14日
    浏览(32)
  • Vue中自定义.js变量

    order.js文件内容: // 订单是否报账 const EXPENESS_STATUS_NO=0; const EXPENESS_STATUS_YES=1; // 状态 0-未发货 1-发货 2-确认收获 const STATUS_NO=0; const STATUS_SEND=1; const STATUS_DELIVERY=2; //  如何不加这个,vue中引入不进来变量值 export {     EXPENESS_STATUS_NO,     EXPENESS_STATUS_YES,     STATUS_NO,     STAT

    2024年02月13日
    浏览(41)
  • Drogon中自定义处理SIGINT信号

    SIGINT信号,用于捕获CTRL+C终止程序。当进程收到该信号时,系统将调用该函数,并允许我们执行自定义逻辑。 但在Drogon开发使用过程中,使用signal注册了SIGINT信号,我在终端输入CTRL+C终止程序,系统并没有执行func()函数就直接退出了,百思不得其解。

    2023年04月23日
    浏览(35)
  • 关于:在 Office 2021 中自定义模板

    1、Word 2021 的默认模板: 1)打开 Word,创建自己的模板样式:     2)保存模板文件为 Normal.dotm。 3)复制并覆盖到以下位置的模板文件:    C:UsersCurrentUserAppDataRoamingMicrosoftTemplatesNormal.dotm     4)新建 Word 文档,确认以上设置生效。 5)其他说明:    - 如果删除该

    2024年02月04日
    浏览(42)
  • Hive——DDL(Data Definition Language)数据定义语句用法详解

    IF NOT EXISTS :可选参数, 表示如果数据库已经存在,则不会创建,避免出现重复创建的情况。 COMMENT :可选参数, 用于添加数据库的注释 。 LOCATION :可选参数, 指定数据库的存储路径 WITH DBPROPERTIES :可选参数, 用于设置数据库的额外属性 。 示例: 创建一个名为\\\"mydataba

    2024年04月27日
    浏览(46)
  • 在.NET 6.0中自定义接口路由

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。 在本文中,我们将讨论 ASP.NET Core 中的新路由。我们将了解什么是接口( endpoints )路由,它是如何工作的,它在哪里使用,以及如何创建自己的路

    2023年04月17日
    浏览(32)
  • Spring开发中自定义注解的使用

    在Java项目中,可以自定义注解,方便进行某些处理操作,提供开发效率。 比如,在进行实体类的crud操作时,一般都有create_time, createUser, updateTime, updateUser这几个字段,而且不是核心业务代码,这时可以引入注解简化开发和提高效率。比如下面这段代码: 如果都按照上述的操作

    2024年02月16日
    浏览(61)
  • Spring中自定义注解不生效的问题

    一。业务需求         现在我们有一个业务需求,需要对userService层查询返回的用户的密码进行加密,传统方法是直接在Service层进行改造,但是这样后面有其他需求,Service层其他的方法或者类都要被改造,这样耦合度太大,不符合单一职责原则和开闭原则,即一个类负责一

    2023年04月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包