QT 调用外部dll库的方式 -- 隐式调用
1.用vs (我使用的是vs2013)编写一个dll库
calculator.c
-----------------------------------------------------
#include "calculator.h"
int add(int x, int y)
{
return x + y;
}
calculator.h
-------------------------------------------
#pragma once
#include <stdio.h>
#include <stdint.h>
extern "C"
{
__declspec(dllexport) int add(int x, int y);
}
注意我的QT版本是64位,所以使用vs编译的时候也应该是64位的

2.随便新建一个QT工程。
把dll文件和lib文件放入一个特定的位置

我这里新建了一个libbb文件夹,把dll文件 lib文件 .h文件都放入这个文件夹中

在qt工程文件pro中添加:

-l后面加上链接的名字,不需要加上lib后缀
包含 .h文件就可以使用

这里注意!!!!!!!!!!!!!!!!!!!!!!
拷贝过来的.h需要做一些修改

把上面的 dllexport 修改成 dllimport 这边导出 那边导入


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在pro 文件中还可以直接右键,选择添加库,选择外部库


浏览选择lib库所在的位置,点击下一步就好


不知道为啥 最后面的 -lcalculator 变成了 -lcalculatord 末尾多了一个 d 这是编不过去的,需要删掉最后一个d 也可以使用

浙公网安备 33010602011771号