QT(1)-C/C++库生成和调用

1.测试文件

留意linux下和windows下的so,可能存在差异。

在哪个平台开发QT程序,就用哪个平台下编译的so文件。

测试so文件源码

test.cpp

复制代码
#include <iostream>
int calcAdd(int x, int y)
{
	return x+y;
}

test.h

复制代码
#ifndef _TEST_H_
#define _TEST_H_

int calcAdd(int x, int y);

#endif

测试源文件

main.cpp

复制代码
#include "test.h"
#include <iostream>

using namespace std;

int main(void)
{
    int result = calcAdd(1,2);
    cout << result << endl;
}

g++ .\main.cpp .\test.cpp -o .\main

2.普通C++动态库生成

留意linux下和

生成动态链接库

复制代码
g++ -std=c++11 test.cpp -fPIC -shared -o libtest.so
g++ -std=c++11 main.cpp -L. libtest.so -o main

测试动态库

3.普通C++静态库生成

执行

复制代码
g++ -c .\test.cpp
ar -rc .\test.a .\test.o
g++ -std=c++11 main.cpp .\test.a -o main

4.QT下C++库生成

新建库文件

选择是动态库还是静态库

库内容

头文件

把shadow build取消勾选

右键工程,构建

构建

查看构建结果

5.QT下调用C++库

在应用工程下

加入库的位置和头文件的位置

添加库的头文件

加入测试代码

录下生成debug或者release文件夹

在工程目录右键,添加库->外部库

会在pro下面添加代码

重新构建运行

相关推荐
c2385613 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
李永奉13 小时前
C语言-嵌入式开发C语言常用预处理指令合集
c语言·开发语言
光源【时光寸寸又逢君】14 小时前
第三方平台预览我方级联监控点串流问题排查
c++·iot
上海安当技术14 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
我是唐青枫14 小时前
Java JCommander 实战详解:用注解解析命令行参数
java·开发语言
大鹏说大话14 小时前
C++ 内存布局详解:类、虚函数、虚表底层原理
java·开发语言
键盘会跳舞14 小时前
C++:容器适配器 queue 的源码级拆解
开发语言·c++·queue
YuforiaCode15 小时前
第十六届蓝桥杯 2025 C/C++组 数列差分
c语言·c++·蓝桥杯
千里之行,始于足下sanhai15 小时前
P8686 [蓝桥杯 2019 省 A] 修改数组 - 数字魔法大冒险 题解
c++·算法·动态规划
小星星闪亮登场15 小时前
Codeforces Round 1115 ( Div. 2)
数据结构·c++·算法·贪心算法·排序算法·codeforces