Qt Creator开发Android程序 如何调用C语言的dll

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt Creator开发Android程序 如何调用C语言的dll相关的知识,希望对你有一定的参考价值。

在Windows平台下使用Qt Creator开发android程序,怎么调用第三方提供的用VC编译的dll?
头文件,dll,lib文件都有,同样的写好的Qt程序代码用Desktop kit(Mingw) 能通过编译,但是换成Android Kit(android gcc)就没有办法通过编译。

我在dll的头文件里面加入了
#ifdef DLL_EXPORTS
#define MYDLL __declspec(dllexport)
#else
#define MYDLL __declspec(dllimport)
#endif

然后编译的时候就会提示expected constructor, deconstructor before '(' token in expansion of MYDLL

去掉这段代码就会提示undefined reference to "调用的dll内的方法名"

如果就是要在Android程序里面调用这个dll 应该怎么调用?

谢谢

参考技术A 请参考这里,看看有无帮助:
MSVC vs. MinGW 之 (lib,dll,def,obj,exe) vs (a,dll,def,o,exe) 玩转攻略手记
http://hi.baidu.com/kaienfr/item/0d12b1f34cb3eeda6225d2b1
参考技术B 安卓下不能调用DLL,应该调用SO追问

那这个第三方的dll我们是没有源码的,所以没有办法重新编译成.so
dll有办法转换成.so文件吗
谢谢

追答

没有,windows和linux不能兼容

以上是关于Qt Creator开发Android程序 如何调用C语言的dll的主要内容,如果未能解决你的问题,请参考以下文章

从 Qt Creator 附加到 Android 进程

Qt Creator 仅显示 android 作为可用套件

如何使用Qt Creator创建一个不依赖于Android的单个本机共享库

如何将 OpenCV 集成到 Qt Creator Android 项目中

在 Qt Creator 中启动应用程序之前,如何将我在 Qt for Android 中的 .so 文件复制到 android-build/libs/arm64-v8a 中

QT Creator 快速入门教程 读书笔记