linux系统,使用cmake 编译C++代码,如何生成静态库。

文章讲述了如何在Linux系统中,利用CMake编译C++代码并生成静态库(如xlog),以及在test_xlog项目中如何链接和使用这个静态库。涉及到CMakeLists.txt文件的配置和编译命令。
摘要由CSDN通过智能技术生成

linux系统,使用cmake 编译C++代码,如何生成静态库。

xlog文件夹下面是生成静态库所需要的文件。
test_xlog文件夹下面是调用静态库所需要的文件。

xlog文件夹下的文件:

1、CMakeLists.txt

#CMakeLists.txt
#  设置:版本
cmake_minimum_required(VERSION 3.20)

# 定义 :项目名称
project(xlog)

#添加一个库(静态)
add_library(xlog STATIC xlog.cpp xlog.h)

2、xlog.cpp

#include "xlog.h"
#include <iostream>
using namespace std;
XLog::XLog()
{
	cout<<"Create XLog"<<endl;
};

3、xlog.h

//xlong.h
#ifndef XLOG_H
#define XLOG_H

class XLog
{
public:
	XLog();
};
#endif

在xlog文件夹下使用编译命令

cmake -S . -B build
cmake --build build

图中libxlog.a就是生成的静态库,其他没有用可以删除了。

test_xlog 文件夹下的文件:

1、CMakeLists.txt

# CMakeLists.txt 102

# 最低版本要求
cmake_minimum_required(VERSION 3.20)

# 当前项目名称
project(test_xlog)

#指定头文件查找路径
include_directories("../xlog")

# 指定库(当前为静态库 .a文件 )查找路径
link_directories("../xlog/build")

# 添加执行文件
add_executable(test_xlog test_xlog.cpp)

# 指定加载的库(当前test_xlog 要与 添加执行文件中的test_xlog 一样才行)
# xlog 是要跟生成静态库时 CMakeLists.txt 文件中设置add_librar添加静态库时第一个参数一致才行
target_link_libraries(test_xlog xlog)

2、test_xlog.cpp

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

int main()
{
    XLog log123;
    cout << "test xlog" << endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默执_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值