如何在Android Studio项目中使用CMake正确包含Qt5Core静态库?

问题描述

我在android studio链接 C ++静态库时遇到问题。这是本地C ++ android studio项目,并且静态库已链接

静态库依赖于 Qt5Core 库,因此我还包括了所有ABI所需的库 libQt5Core.a ,就像我的库一样:

CMakeLists.txt

add_library(Qt5Core STATIC IMPORTED)
set_target_properties(Qt5Core PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libQt5Core.a)

我将库中的标头放在app\src\main\cpp\include中。我将它们包含在 native-lib.cpp 文件中:

#include "include/MyLib/testingclass.h"

问题是我得到了错误Fatal error: 'QList' file not found

因为我在这样的图书馆中使用它:

 #include <QList>

我是CMake的初学者,我认为我需要在项目中包含 QtCore 的头文件。预先感谢。

我试图这样解决

我已在C:\Qt\5.13.1\android_static\include\Qt5Core位置复制了app\src\main\cpp\include,并将#include <QList>更改为#include "include/QtCore/QList",但仍然遇到无法找到的错误

更新: 另一种尝试而不是链接静态库,我尝试了此操作,但仍然给出QList找不到错误

set(Qt5_DIR "C:\\Qt\\5.13.1\\android_static\\lib\\cmake\\Qt5\\")
set(Qt5Core_DIR "C:\\Qt\\5.13.1\\android_static\\lib\\cmake\\Qt5Core\\")
find_package(Qt5 required COMPONENTS Core)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)