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下面添加代码

重新构建运行

相关推荐
大衛說8 小时前
《Python 从入门到精通》系列总览与学习路线
开发语言·python·学习
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
可乐鸡翅yeah_9 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
2601_962203519 小时前
Java进阶07集合(续)
java·开发语言
郑州光合科技余经理9 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
小灰灰搞电子10 小时前
C++ 引用折叠详解
c++
来了就未晚10 小时前
Python基础 学习代码存储与命名规范
开发语言·python·学习
布莱克60510 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
hongmai66688810 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘11 小时前
C语言梦开始的地方19:文件操作
c语言·开发语言