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

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.7K20

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.6K10

qmake:高级用法

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

1.8K10

Hello Qt——QMake用户指南

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

5.6K20

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.5K40

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.4K21

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成功。

7.3K21

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就可以发现它。

62140

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有时真操心。

27030

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

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

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

5.7K20

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。

3.9K20

基于NXP i.MX28 MPU疫情监控平台2-Qt环境搭建

so类型文件,说明这个开发板上系统是支持Qt,而且后面的数字就是当前Qt版本号。...3.1 主机搭建嵌入式Qt环境 搭建一个最基本Qt环境,需要两个东西:qmake和编译器。编译器用是交叉编译器,我们在第一节教程中,已经介绍了,并且已经把交叉编译器路径添加到了环境变量。...sudo tar -jxvf qt4.7.3.tar.bz2 #添加到用户环境变量 sudo vim ~/.bashrc #文件末尾添加一行,$PATH放在后面,表示路径添加在环境变量最前面 export...-v 如果本机有多个qmake,那么一定要把嵌入式qmake路径添加到环境变量最前面,否则不能识别 ?...配置交叉编译器 然后在构建套件(Kit)下新建一个构建套件 #名称 imx287 #设备类型 同样Linux设备 #C/C++编译GDB 上一步设置对应工具名称 ?

2.8K60

QT软件开发源码工程前端QMake管理

这样由若干好处,例如: 前后端分离,代码易于管理,学习起来也不杂乱 前后端松耦合,不会产生强依赖,两者只靠接口进行链接,所以如果想复用算法动态,可以直接复用到其它软件上。...我们也不适用VS工程直接管理,因为VSsln文件是个二进制文件,我们无法对其进行版本管理,而qmake是文本文件,是可以方便进行版本管理。...对于后端算法工程管理,我们却采用了cmake,因为后端只有一个算法动态,cmake很简单,我们也正好简单入门一下cmake,同时我们同样不采用VSsln工程文件来管理后端,原因同样是不好进行版本管理...选择创建一个新桌面应用工程: 填写项目名称ZhuZhao和项目路径: 选择qmake作为构建系统: 修改主界面类名称,注意我们类都采用了驼峰命名,即MainWindow,而非mainwindow全小写命名...android: target.path = /opt/$${TARGET}/bin !

9410
领券