工作中 cmakelist 的积累

Demo 记录

  • main.cpp

    #include <stdio.h>
    #include <iostream>
    include "baz.h"
    using namespace std;

    int main()
    {
    DataBuffer db(10);
    cout << " The value of db is " << db.data<< endl;
    }

  • baz.h

    class DataBuffer
    {
    public.
    DataBuffer(int data);

    public:
    int data;
    };

  • baz.cpp

    #include <stdio.h>
    #include <iostream>
    include "baz.h"
    using namespace std;

    DataBuffer::DataBuffer(int data) : data(data)
    {
    }

  • CMakeLists.txt
    注意: 当时一个 bug 是因为 add_executable() 没有把 baz.cpp 添加进去,导致报错 undefined reference o xx

    cmake_minimum_required(VERSION 2.8)

    设置 C 编译器为环境中的 $CC

    set(CMAKE_C_COMPILER $ENV{CC})

    设置 C++ 编译器为环境中的 $CC

    set(CMAKE_CXX_COMPILER $ENV{CXX})

    include_directories(${PROJECT_SOURCE_DIR})

    project(main)

    add_executable(main main.cpp baz.cpp)

相关推荐
王老师青少年编程6 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【排序贪心】:拼数
c++·算法·贪心·csp·信奥赛·排序贪心·拼数
程序猿编码12 分钟前
给Linux程序穿“隐身衣”——ELF运行时加密器全解析(C/C++代码实现)
linux·c语言·c++·网络安全·elf·内存安全
John_ToDebug33 分钟前
从 Win10 到 Win11 22H2+:任务栏美化中的“蒙版”和“Hover 色块”渲染原理解析
c++·chrome·windows
谭欣辰1 小时前
AC自动机:多模式匹配的高效利器
数据结构·c++·算法
三月微暖寻春笋1 小时前
【和春笋一起学C++】(六十三)虚函数特性(二)
c++·基类·派生类·虚函数特性
历程里程碑1 小时前
MySQL事务深度解析:ACID到MVCC实战+万字长文解析
开发语言·数据结构·数据库·c++·sql·mysql·排序算法
鲸渔2 小时前
【C++ 跳转语句】break、continue、goto 与 return
开发语言·c++·算法
syker2 小时前
AIFerric v2.0 项目总结报告
c语言·开发语言·c++
ShineWinsu2 小时前
对于Linux:进程间通信IPC(命名管道)的解析
linux·c++·面试·笔试·进程·ipc·命名管道
️是783 小时前
信息奥赛一本通—编程启蒙(3371:【例64.2】 生日相同)
开发语言·c++·算法