工作中 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)

相关推荐
Teleger2 小时前
在window上使用c++控制鼠标点击,实现的exe
c++·单片机·计算机外设
June`3 小时前
高并发内存池如何实现
c++·tcmalloc·内存池
ComputerInBook3 小时前
C++ 关键字 constexpr 和 consteval 之注意事项
开发语言·c++·constexpr·consteval
米啦啦.3 小时前
STL(标准模板库)
开发语言·c++·stl
咩咦3 小时前
C++学习笔记08:指针和引用的区别
c++·学习笔记·指针·引用·指针和引用
洛水水4 小时前
【力扣100题】34.二叉搜索树中第K小的元素
c++·算法·leetcode
许长安4 小时前
gRPC Keepalive 机制
c++·经验分享·笔记·rpc
wangjialelele4 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式
智者知已应修善业5 小时前
51单片机4按键控制共阳LED霓虹灯切换1整体闪烁2流水下3流水上4间隔闪烁】2023-10-27
c++·经验分享·笔记·算法·51单片机
洛水水5 小时前
结构性设计模式详解
c++·设计模式