首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qmake找不到我的Android库,因为它们的名称后面附加了QT_ARCH变量

Qmake是一个跨平台的构建工具,用于生成Makefile文件来编译和构建项目。在Android开发中,如果Qmake找不到你的Android库,可能是因为库的名称后面附加了QT_ARCH变量。

QT_ARCH是一个Qt的内置变量,用于指定目标平台的架构。它的值通常是根据你的构建环境和目标设备来自动设置的。当库的名称后面附加了QT_ARCH变量时,Qmake会根据这个变量来查找对应的库文件,如果找不到匹配的库文件,就会报错。

解决这个问题的方法是确保你的库文件的命名规则正确,并且与QT_ARCH变量匹配。你可以通过以下步骤来解决这个问题:

  1. 检查库文件的命名规则:确保库文件的命名规则符合Qt的要求。通常情况下,库文件的命名应该是以lib开头,后面跟着库的名称,然后是一个连字符和QT_ARCH变量的值。例如,如果你的库名称是mylibrary,并且QT_ARCH的值是arm64-v8a,那么库文件的命名应该是libmylibrary-arm64-v8a.so。
  2. 检查库文件的位置:确保库文件位于正确的位置。在Android开发中,库文件通常放置在项目的jniLibs目录下的对应架构的子目录中。例如,对于arm64-v8a架构,库文件应该放置在jniLibs/arm64-v8a/目录下。
  3. 检查.pro文件配置:在你的项目的.pro文件中,确保正确配置了QT_ARCH变量。你可以使用QMAKE_TARGET_ARCH变量来获取当前目标平台的架构,并将其赋值给QT_ARCH变量。例如,可以在.pro文件中添加以下代码来设置QT_ARCH变量:
  4. 检查.pro文件配置:在你的项目的.pro文件中,确保正确配置了QT_ARCH变量。你可以使用QMAKE_TARGET_ARCH变量来获取当前目标平台的架构,并将其赋值给QT_ARCH变量。例如,可以在.pro文件中添加以下代码来设置QT_ARCH变量:
  5. 清理和重新构建项目:如果你已经进行了上述步骤的更改,但问题仍然存在,尝试清理和重新构建项目。你可以使用以下命令来清理项目:
  6. 清理和重新构建项目:如果你已经进行了上述步骤的更改,但问题仍然存在,尝试清理和重新构建项目。你可以使用以下命令来清理项目:
  7. 然后重新运行Qmake和Make命令来构建项目。

如果你按照上述步骤进行操作,应该能够解决Qmake找不到Android库的问题。如果问题仍然存在,可能需要进一步检查你的项目配置和库文件的正确性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • qmake:变量手册

    大家好,又见面了,我是你们的朋友全栈君。 qmake 的基本行为受定义每个项目构建过程的变量声明的影响。 1、ANDROID_ABIS 此变量仅适用于 Android 目标。...启用此选项后,qmake 将创建一个扩展名为 .prl 的文件,该文件将保存有关库的元信息。 link_prl:启用此选项后,qmake 将处理应用程序链接的所有库并查找它们的元信息。...指定在链接时添加到可执行文件的库路径列表,以便在运行时优先搜索路径。 当指定了相对路径时,qmake 会将它们转换成动态链接器理解的与引用可执行文件或库的位置相关的形式。...使用此变量指定的每个子目录都必须包含其自己的项目文件。 建议每个子目录中的项目文件与子目录本身具有相同的基本名称,因为这样可以省略文件名。...注意:可以列出多个依赖项,它们都将在依赖它们的目标之前构建。 注意:不鼓励使用 CONFIG += ordered,因为它会减慢多核构建的速度。

    3.9K20

    将 QT 应用程序打包成如意玲珑软件包

    这其中 $$PREFIX 是 qmake 命令行传入的变量定义,可以理解为最后的安装路径,后面的构建步骤将会说明。...,而不是应用程序的版本,当前玲珑的版本为1 package id: 应用程序的唯一id,为了避免冲突,一般用域名倒置加上应用程序包名 name: 应用程序名,这个名称是在玲珑包管理中展现的名称,并不是在开始菜单项中展现的名称...先按照文档上的写。 runtime: 应用运行时依赖,我的理解就是一些运行时库,比如 libc、qt 之类的,先按照文档上填。 source: 在本项目中,是 local类型。...挂 VPN 会导致基础环境和运行时环境库无法下载,且没有提示,我在这个地方卡了半天,最后才发现是这个问题。...在实际的项目中,可能会使用比较新的 Qt 库,还有的项目可能会使用复杂的构建系统,也可能需要先 build 出应用程序,再来构建玲珑包,还可能有更复杂的环境等问题,这个在后面的文章中和大家分享,敬请关注

    7100

    qmake:配置qmake

    大家好,又见面了,我是你们的朋友全栈君。 一、属性 qmake 有一个持久化配置系统,它允许在 qmake 中设置一次属性,并在每次调用 qmake 时查询它。...-query //列出内置属性 以下是内置属性: QMAKE_SPEC:在主机构建期间解析并存储在 QMAKESPEC 变量中的主机 mkspec 的短名称 QMAKE_VERSION:qmake...的当前版本 QMAKE_XSPEC:在目标构建期间解析并存储在 QMAKESPEC 变量中的目标 mkspec 的短名称 QT_HOST_BINS:主机可执行文件的位置 QT_HOST_DATA:qmake...:所有头文件的位置 QT_INSTALL_IMPORTS:QML 1.x 扩展的位置 QT_INSTALL_LIBEXECS:运行时库所需的可执行文件的位置 QT_INSTALL_LIBS:库的位置 QT_INSTALL_PLUGINS...当 qmake 运行时,除非指定 – nocache 参数,否则它会在当前目录的父目录中查找名为 .qmake.cache 的文件 如果。qmake 找不到这个文件,它会默默地忽略这一步处理。

    2.8K10

    qmake:高级用法

    大家好,又见面了,我是你们的朋友全栈君。...四、库依赖 通常在链接库时,qmake 依赖于底层平台来了解该库链接到哪些其他库,并让平台将它们拉入。然而,在许多情况下,这还不够。...第二步是在使用静态库的应用程序中启用此元信息的读取: CONFIG += link_prl 启用此功能后,qmake 将处理应用程序链接的所有库并找到它们的元信息。...一旦 qmake 处理了这个文件,它就会查看 LIBS 变量中新引入的库,并找到它们依赖的 .prl 文件,直到所有库都被解析为止。此时,Makefile 照常创建,并且库与应用程序显式链接。....prl 文件应仅由 qmake 创建,不应在操作系统之间传输,因为它们可能包含平台相关信息。

    1.9K10

    Hello Qt——QMake用户指南

    大家好,又见面了,我是你们的朋友全栈君。 一、QMake使用 QMake提供了一个用于管理应用程序、库、其它组件的构建过程的面向工程系统。...例如: MY_VARIABLE = value 对于自定义的变量,没有任何使用限制,因为qmake将忽略它们,除非在处理作用域时需要对它们进行评估。...,存储在LIBS变量中的库列表会被简化为唯一名称的列表。...5、库依赖 经常在链接到一个库时,qmake依赖于底层平台来了解库中链接的其他库,并让平台将它们拉入。然而,在很多情况下,这是不够的。...一旦qmake处理了该文件,它将查看LIBS变量中新引入的库,并找到它们的依赖.prl文件,直到所有库都被解析。此时,MakeFile文件按常规创建,并且库与应用程序显式链接。

    6.4K20

    Qt教程一

    永远不要忽视微软帝国的威胁,作为软件业的一代霸主,任何人都不要天真地试图和它做朋友,因为霸主不可能有朋友。微软的木马屠城是所有诺基亚人和芬兰人的痛,希望读者们都记牢这条。...KDE 是 Linux 操作系统的桌面环境,与 GNOME 桌面是类似的,作为开源桌面它们竞争的情况更为多见。...GPL 是什么都要开源,这对商业软件应用是不利的,所以诺基亚增加了 LGPL 授权 (第一个 L 可以叫 Lesser 宽松版或 Library 开发库版)。...,添加国内源 手动添加储存库要定位一个储存有QT在线安装镜像的地址,这可难坏我了,但是经过不懈努力还是被我找到了(网址:http://download.qt.io/static/mirrorlist/)...常用qmake变量 .pro中变量 含义 示例 TEMPLATE 模板变量指定生成makefile(app:应用程序/lib:库) TEMPLATE = app QT 指定加载的Qt模块(core/gui

    9210

    qt中qmake的详解

    2.创建pro文件,添加各种源文件,还可以设定平台相关的不同源文件,设置各种规则,利用qmake命令生成工程。后面会介绍pro文件可以手工编写,也可以利用qmake命令智能的生成。...lib模板库: lib模板告诉qmake生成的Makefile是将要编译一个库,使用这个模板的时候,另外的系统变量会加到上面app模板提到的变量,因为app模板是支持VERSION 变量,你应该在pro....通常是库的形式,跟普通的库一样VERSION 变量是用来指定一些有关插件的信息 VERSION – 目标库的版本号,如 2.3.1 声明Qt库模块 如果CONFIG变量包含了...d:/stl/include 不过我的习惯是下面这样的,比较清晰还有,最好windows的路径不要有空格,中文也不要有,斜杠也推荐用/ 而不是windows的\ 因为跟分行符号\相同了 /...“CONFIG+=test” test.pro 如果你确定你自己想在指定的文件后面处理一些变量,你可以传递-after选项。

    2.7K40

    Qt-4.8.7交叉编译平台的搭建、移植详解( aarch32、aarch64 、mips64)「建议收藏」

    软件,而默认是没有安装aarch32版本的x11文件的,因此GUI库从/usr/arm-linux-gnueabihf/include目录中时找不到X11系列的头文件的免得去修改前面编译好的库。...架构的动态库时,默认使用的是x86_64架构, 而arm指令集找不到,因此需要在执行配置时指定编译的架构,即添加:-arch generic。.../Makefile下添加动态库所在的位置(使用-L)以及需要的动态库名称(-l): -L/home/luyp/aarch64/usr-arm64/usr/lib/aarch64-linux-gnu -...截图如下: 编译过程中,有可能会遇到下面问题,问题截图如下: 这是因为在编译mips64架构的动态库时,默认使用的是x86_64架构,因此找不到asm指令集...然后进入lib目录,使用file *命令查看生成的动态库类型,如果显示为下图,则表示生成mips64el架构的qmake以及qt库成功。

    9.5K21

    Qt高级——QMake快速入门

    大家好,又见面了,我是你们的朋友全栈君。 一、QMake简介 qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具。...不能直接增加这两个文件到SOURCES变量,因为这会导致这两个文件直接生成到MakeFile文件,需要在qmake所运行的平台的代码块中独立处理。...使用lib模板时,除了app模板支持的系统变量,也支持VERSION变量。可以使用这些变量在.pro文件中指定库的相关信息。...dll:库是一个共享库 staticlib:库是一个静态库 plugin:库是一个插件,也支持dll选项 VERSION变量指定库的版本信息 库的目标文件名是平台独立的。...例如,X11和Mac OS X,库名称使用lib 前缀,Windows平台上,库文件名不增加任何前缀。 3、QMake创建插件 插件使用lib模板构建,告诉qmake生成一个工程的MakeFile。

    1.5K21

    QT5静态编译教程,主要针对vs2012

    — 本帖被 XChinux 设置为精华(2013-03-24) — QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错...虽然我编译通过了,但是还是借鉴了网上很多教程,先发借鉴的链接,尊重版权: http://www.ktao.net/archives/125  //这个编译好像只编译了qtbase,qtwebkit那块原来我准备的连接库不足...-Zi                     QMAKE_CFLAGS_DEBUG      = -Zi -MDd     把MD和MDT改成MT和MTD,如下: //因为md是动态连接运行时库...注意:以上的您要注意debug和release版本、、还有动态编译和静态编译、、、 4、配置环境变量,建议用个bat      附个我用的bat,上面两个链接也有bat脚本,您根据自己的位置自己修改吧...id=90008,(没办法粘贴网址,手工输入的但id=90008核对过))。 编译出来的Qt assistant及designer都不能使用(它们都用到了 webkti),QT有时真操心。

    32030

    Linux下Qt创建共享库与链接共享库详解

    ②类型选择默认的共享库,填写名称并选择工程路径。简单说下库的类型分别是动态库、静态库和Qt的插件 ? ③选择默认的套件即可 ④选择所需模块,这里我没有勾选任何模块 ?...TEMPLATE :模板类型,类型为lib ,即生成的是一个库文件 VERSION(新增部分) :库的版本号设置 CONFIG (新增部分) :控制编译的Debug与Release库的版本名称...④生成动态库效果 到这里我们就已经生成好了动态库,可以看下我们添加的动态库的版本号。 注意,我这里没有区分Debug与Release版本。 ? 二、链接动态库 1....于是我使用了locate +库名 命令进行搜索,但是并没有在其他路径下发现刚刚生成的共享库;于是我又去找配置Linux环境变量的文件,发现也没有。...在Projects中的Run Environment 下的LD_LIBRARY_PATH对应的Value里面,我看到了在程序中链接库的目录。至此,我觉得我找到了原因。 3.

    5.8K20

    ubantu16.04搭建Qt环境

    点击蓝字 关注我们 目录 ubantu16.04搭建Qt环境 下载opensource 安装qmake 安装g++以及依赖库 配置环境 编译原码 安装make 查看qmake是否安装 配置环境变量 qmake...地址 安装qmake 安装g++以及依赖库 sudo apt-get install g++ sudo apt-get install g++-multilib libx11-dev libxext-dev.../configure 配置过程中:选择 o ;选择yes;后面回车,稍等片刻 编译原码 直接make编译原码 make #漫长的等待 吐槽一下,编译了快一个小时,这是第三次配置qt环境 安装make sudo...$LD_LIBRARY_PATH export QTDIR PATH MANPATH LD_LIBRARY_PATH 注意:QTDIR=/usr/local/Trolltech/Qt-4.8.7/是我的路径...Qt version 4.8.7 in /usr/local/Trolltech/Qt-4.8.7/lib exit #退出当前终端 #重新打开终端 qmake -v #又找不到qmake 解决办法:

    2.1K30

    QMake study(part 3)

    “app”模板 “app”模板告诉qmake为建立一个应用程序生成一个makefile。当使用这个模板时,下面这些qmake系统变量是被承认的。...YACCSOURCES - 应用程序中的所有yacc源文件的列表。 TARGET - 可执行应用程序的名称。默认值为项目文件的名称。(如果需要扩展名,会被自动加上。)...“lib”模板 “lib”模板告诉qmake为建立一个库而生成makefile。当使用这个模板时,除了“app”模板中提到系统变量,还有一个VERSION是被支持的。...你需要在为库指定特定信息的.pro文件中使用它们。 VERSION - 目标库的版本号,比如,2.3.1。...在这个模板中只有一个系统变量SUBDIRS可以被识别。这个变量中包含了所要处理的含有项目文件的子目录的列表。这个项目文件的名称是和子目录同名的,这样qmake就可以发现它。

    65440

    qt没有被正确安装_qt软件安装步骤

    这里就能看到所有已经自动检测到的,或者手动配置的Qt版本。细心的朋友已经发现了,每一个Qt版本后面,对应的是一个qmake.exe(Linux下没有后缀,就是qmake)。 没错!...找到Build & Run,然后就能看到这个项目正在使用的是什么套件以及什么Qt版本了。 例如,我这个项目使用的构建套件名称是Qt 5.8.0 (mingw53_32),对应的Qt版本是5.8.0。...qmake了,而是要有完整路径,和上面查看版本的时候一样: $ /home/XYZX/Qt5.8.0/5.8/gcc_64/bin/qmake $ make 2、设置默认的qmake 注意:我给出的目录是我的情况...对于Qt5版本,Qt模块的软件包名称有规律,都是libqt5开头的,后面跟模块名称。例如Qt5核心模块的软件包是libqt5core5a,GUI模块的软件包是libqt5gui5。...后面可能会跟不同后缀。 有一个例外(就我目前遇到的),是multimedia。除了刚才说的包之外,你可能还需要安装qtmultimedia5-dev。

    4.2K20
    领券