问题描述
我在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 (将#修改为@)