MAC下QT5 + Xcode 4.6.3 使用小结

2023-10-27


  • 1、直接在命令行里使用qmake:
    大家的MAC上面QT5的安装路径不同,导致不能直接使用qmake命令行,xcode项目也不能拿来就用。
    有两种方法可以直接在命令行里面使用qmake:
    1、修改~/.bash_profile,此方法在PATH中添加QT安装路径:
    touch ~/.bash_profile
    open ~/.bash_profile
    export PATH="/Users/zenghao/Qt5.2.1/5.2.1/clang_64/bin:$PATH"
    ~/.bash_profile
    这也是在PATH中添加路径的通用方法
    参考:http://hathaway.cc/post/69201163472/how-to-edit-your-path-environment-variables-on-mac-os-x)
    2、修改qmake的链接(适用与mac中已安装过qt4.6版本的情况)
    cd /usr/bin
    sudo rm qmake
    sudo ln -s /Users/user/Qt/5.1.1/clang_64/bin/qmake qmake
    这只能说是一种hack的手法,但是也能解决问题,思路很重要。
    参考:http://www.qtcentre.org/threads/41946-how-to-change-default-qmake-path-version-in-mac-os-x

  • 2、运行app时,提示缺少libcocoa组件:
    在创建QApplication对象之前插入下面的代码
    ,用来载入plugins目录(需要把plugins文件夹与app放在相同目录)。

    QString curPath = QString(argv[0]);                
    #ifdef Q_OS_WIN
       curPath = curPath.mid(0,curPath.lastIndexOf("\\"));
       QCoreApplication::addLibraryPath(curPath+"/plugins");
    #else
       curPath = curPath.mid(0,curPath.lastIndexOf("/"));
       QCoreApplication::addLibraryPath(curPath+"/../../../plugins");
    #endif
  • 3、不能生成moc_xxx.cpp、ui_xxx.h文件:
    一般,使用下面的命令来通过pro文件生成xcode项目:
    qmake -spec macx-xcode xxx.pro
    在此过程中,qmake会自动调用rcc、uic、moc等的实用工具,如果没有生成相应的文件,应该是pro文件有错误(但是qmake不会报错,坑啊!),检查pro文件中是否包含:
    QT += widgets
    然后使用qmake重新生成xcodeproj。另外,我发现,在xcode编译期间,如果还有其他编译错误,这些QT中间文件也可能不能正常生成,但是在解决掉编译错误后,这些文件又会奇迹般的生成出来!
    参考:http://lists.qt-project.org/pipermail/interest/2012-September/003865.html

  • 4、app图标问题:
    xcode4.4以后,不使用icns文件来编译生成Bundle图标,而是采用iconset文件夹。
    icon -> icns
    有一个网站可以通过icon文件生成icns文件: http://iconverticons.com/online/
    icns —> iconset
    使用iconutil命令:
    iconutil -c iconset /path/to/xxx.icns
    可以使用icns文件生成iconset文件夹
    修改pro文件,添加或者修改为: RC_FILE += xxx.iconset,需要重新编译项目,在Sources目录中可以看到xxx.iconset。编译成功后,还需要在Targets-》Build Phases-》Compile Sources 里面添加xxx.iconset,这样才能把iconset编译到app里面,但是,app还是使用的默认图标,最后(别急,别急)还需要修改Info.plist文件,把Icon file栏xxx.iconset修改为xxx即可(去掉文件名后缀)。
    参考:http://stackoverflow.com/questions/6337787/how-can-i-set-the-icon-for-a-mac-application-in-xcode

  • 5、改变xcode项目所在路径导致编译错误:
    由于xcode里面使用的是绝对路径,如果我们修改了项目名(xcodeproj文件名)或者是把项目移动到别的位置,重新编译的会出现很多问题,可以使用$SRCROOT来代替项目的绝对路径。
    比如,下面的错误:make: xxx.xcodeproj/qt_makeqmake.mak: No such file or directory
    移动项目的位置导致此编译错误。
    需要修改Targets -> Qt Preprocess ->Build Phases -> Qt Qmake和 Qt Preptocessors里面的路径为当前项目的路径,或者使用$SRCROOT这个宏。
    建议在Xcode设置路径的时候,使用$SRCROOT代替项目的绝对路径,这样,xcode项目拿来即用。



    文/曾浩(简书作者)
    原文链接:http://www.jianshu.com/p/8d67525848aa
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MAC下QT5 + Xcode 4.6.3 使用小结 的相关文章

  • 用C语言开发一个BT下载软件 (四) ------ 代码实现-1-种子文件解析模块

    parse metafile h ifndef PARSE METAFILE define PARSE METAFILE 保存从种子文件中获取的tracker的URL typedef struct Announce list char an
  • 数据库建索引规则

    数据库建立索引常用的规则如下 1 表的主键 外键必须有索引 2 数据量超过300的表应该有索引 3 经常与其他表进行连接的表 在连接字段上应该建立索引 4 经常出现在Where子句中的字段 特别是大表的字段 应该建立索引 5 索引应该建在选
  • 微信小程序分包-主包尺寸 (不包合插件) 应小于 1.5 M

    目录 起因 分包 最后 起因 更新一个之前的小程序 上传的时候提示主包尺寸 不包合插件 应小于 1 5 M 怎么办 查看教程啊 开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项 1 代码包不包含插件大小超过 1 5 M 建议
  • 迭代(iterable)和迭代器

    迭代 iterable 任何可迭代对象都可以作用于for循环 包括我们自定义的数据类型 只要符合迭代条件 就可以使用for循环 d a 1 b 2 c 3 对dict迭代 for k v in d items 如果要同时迭代key和valu
  • 文件操作之日志文件

    一 前言 用户 那谁 你的程序出问题了 来看看 你 问题是怎么出现的 为了复现 用户 我也不知道 就这样点点点就出问题了 你 这个时候 日志文件的重要性就凸显出来了 别指望用户能描述清楚问题出现的经过 最靠谱的还是看日志文件 二 多说两句
  • 网站开发————JavaEE/实训实训实训

    JavaEE 搭建Maven 1 下载 2 环境变量 3 设置 依赖包位置 IntelliJ 1 链接Maven 2 建项目 无框架 3 建Model maven webapp 4 建java resoure并关联 4 导入依赖到pom x
  • Spring 事件驱动,自定义事件、应用监听器

    目录 概述 源码分析 ApplicationEvent 应用事件 spring中常见的事件类型 ApplicationListener 应用监听器 ApplicationEventPublisher 事件发布器 自定义事件 自定义应用监听器
  • 10大python加速技巧

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • vue3 tif文件解析预览

    tif文件在img标签中是无法正常解析的 需要转成常见的jpg png等格式才能正常显示 经过调研 就常见的几种方式 tiff js或者别的插件 本次文章主要讲tiff文件解析时出现的一些问题 1 下载tiff js npm install
  • 后台数据与前端数据进行传递交互

    前端后端对应数据的传递 model前端 数据从数据库 到 Model User类 再到 Controller new User 再到 View html css 最后在浏览器中看到 Model 在 MVC 框架的角色是 有很多字段组成的数据
  • 数论学习-初等数论基础总览

    文章目录 初等数论基础 二 建议先看 零 同余与逆元的概念 0 1 同余 0 2 逆元概念 0 2 1 逆元的求法 一 数论只会gcd 1 1 gcd 1 1 1 a b a a b 的证明 1 1 2 a b b a b 的证明 辗转相除
  • 如何监控阿里云服务器的java进程

    如何监控阿里云服务进程 阿里云的监控没有具体到监控哪一个进行的监控项 如果我们想监控特定的进程建议使用自定义监控 自己采集监控数据 但是阿里提供了关键字的监控 我们可以使用关键字查询进程的数量进行监控 下面我就带大家来试一试如何监控一台服务
  • 【产品设计】90天产品经理实战 分析

  • Git检出(git权威指南笔记)

    HEAD 头指针 是当前工作区的基础版本 看到当前处于的分支 git branch v 分离头指针 git checkout 4902dc3 处于分离头指针状态 可以检查 测试和提交 而不影响任何分支 通过执行另外的一个checkout检出
  • python基础------字符串、列表、元组、字典、集合、函数

    1 字符串 2 列表 列表的删除方法 2 1 列表的增 删 改 查 排序 遍历 a 创建一个空列表 ls b 向列表中添加元素 红烧鸡翅 并查看列表 ls append 红烧鸡翅 c 接着向列表中最前面添加1个元素 32 并查看列表 ls
  • 添加“Git Bash Here”到右键菜单

    之前安装了git的时候 清晰的记得右键菜单里是有 Git Bash Here 这个选项的 非常方面 后来不知道为啥突然没有了 就像搞回来 打开注册表 定位到HKEY CLASSES ROOT Directory Background she
  • centos7.6内核升级

    1 上传一个高版本的系统镜像到服务器上 并挂载到目录 2 配置本地镜像的yum源 mount o loop root kernel CentOS 7 7 x86 64 DVD 1908 iso mnt cdrom vim etc yum r
  • python Blob检测圆点

    blob只能检测里面是黑色外面是白色的斑点 如果要检测里面是白色外面是黑色的斑点 则图像要取反 img inv 255 img 原图 检测结果图 plt opencv coding utf 8 import math import cv2
  • 什么是php探针,以及雅黑探针使用教程

    什么是php探针 以及雅黑探针使用教程 一 php探针介绍 什么是php探针 php探针是用来探测空间 服务器运行状况和PHP信息用的 探针可以实时查看服务器硬盘资源 内存占用 网卡流量 系统负载 服务器时间等信息 php探针的功能 1 服

随机推荐

  • 软件测试人员如何提升自己?写给职场中迷茫的你。

    很多人在进入软件测试行业几年之后 可能都会进入一个瓶颈期 不知道如何去提升自己 但自己能意识到这个问题就是好事 我在前面的几年也曾遇到这个问题 走出舒适区确实很难 但如果可以走出来 就会实现自己最终的目标 今天我们就来说说在进入到行业后 应
  • openstack核心组件-horizon— Web管理界面

    horizon 介绍 Horizon 为 Openstack 提供一个 WEB 前端的管理界面 UI 服务 通过 Horizone 所提供的 DashBoard 服务 管理员可以使用通过 WEB UI 对 Openstack 整体云环境进行
  • (休息几天)读米什金之货币银行学——资产需求理论

    1资产需求的决定因素 1 财富 即个人拥有的总资源 2 预期回报率 3 风险 4 流动性 资产变现的容易程度和速度 2资产需求理论 一项资产的需求量通常和财富正相关 奢侈品 需求对财富的反应较必需品更为强烈 一项资产的需求量与该资产相对于替
  • 【C++】类和对象(二)

    目录 一 类的6个默认成员函数 二 构造函数 2 1构造函数的概念 2 2构造函数的特性 三 析构函数 3 1析构函数的概念 3 2析构函数的特性 四 拷贝构造函数 4 1拷贝构造函数的概念 4 2拷贝构造函数的特性 五 赋值运算符重载 5
  • 国内外安全网站网址大集合

    国内安全 http security zz ha cn 起点安全 有相当不错的原创内容 国内安全 http www shopsky com flashsky的个人主页 国内安全 http www safechina net 有较多原创内容的
  • 基于SSH的婴幼儿产品销售系统的开发与设计毕业设计论文

    源码下载 http www byamd xyz hui zong 1 摘要 科学技术日新月异的进步 让人类生活发生了巨大的变化 计算机技术的飞速发展 使各行各业在计算机技术应用方面得到了广泛的普及和使用 信息化时代的到来成为不可抗拒的潮流
  • 相似矩阵与合同矩阵

    目录 相似矩阵 定义 性质 定理 推论 合同矩阵 定义 性质 推论 相似矩阵 定义 设 A B A B A B 都是 n
  • Mysql 中的锁

    一 锁的分类 粒度 表锁 行锁 间隙锁 方式 读锁 共享锁 写锁 排他锁 态度 悲观锁 乐观锁 悲观锁 读锁 写作都是悲观锁 乐观锁 乐观锁 需要外部程序实现 一 锁的粒度 表锁 行锁 间隙锁 二 锁的方式 读锁 T1表加了读锁 T1表将只
  • 通信工程毕业设计题目100例

    文章目录 1前言 2 如何选题 3 通信工程选题方向 3 1 移动通信方向 3 2 嵌入式开发方向 3 3 人工智能方向 3 4 物联网方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最
  • 【python数据挖掘课程】十五.Matplotlib调用imshow()函数绘制热图

    前面系列文章讲过数据挖掘的各种知识 最近在研究人类时空动力学分析和幂率定律 发现在人类兴趣转移模型中 可以通过热图 斑图 来进行描述的兴趣转移 如下图所示 下一篇文章将简单普及人类动力学相关知识研究 这篇文章结合Matplotlib的ims
  • Inversion of Java Interview - Java集合篇

    Inversion of Java Interview Java容器篇 好奇心是驱动人类进步的动力之一 一 Java容器概况 Java容器分为Collection和Map两大类 Collection集合的子接口有Set List Queue
  • php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件

    有时需要将Excel表格的数据导入到mysql数据库中 我们使用PHP的一个开源项目PHP ExcelReader可以轻松实现Excel的导入 1 导入XLS PHP ExcelReader这是一个开源的项目 主要是来解析excel的文件
  • iOS 开发者账号添加手机号码 Program License Agreement has been updated.edit phone number

    苹果开发者账号经常性的更新一些开发协议让开发者同意 苹果爸爸的要求 同意就好了 只有Agent权限账号会收到 团队成员账号权限区别请参考 最近苹果开发者账号又更新了协议 apple id没有绑定手机号的 在开发者账号里会要求你必须绑定手机号
  • 研究生阶段的研究方向以及一些想法

    好久没有更新了 综合考虑后 即将入学 KAUST 成为一名硕博连读的学生了 出于导师研究方向以及个人兴趣的一些原因 希望在接下来的五年 深耕一下 Generative Models Continual Learning Zero Shot
  • 接口测试工具-Postman-安装和使用

    目录 Postman介绍 1 安装Postman 2 Postman 使用 2 1 合集 collections 2 2 发起请求 2 3 Get请求 2 3 1 无参数的Get请求 2 3 2 带参数的Get请求 2 4 Post请求 2
  • Python薪资的高涨原因及相应代码分析

    Python语言自问世以来 一直以其简洁 易学和多功能而受到广泛关注和应用 在近年来 Python编程语言的普及和应用领域的不断扩大 使得Python开发人员的需求量大幅增加 与此同时 Python工资也呈现出快速上涨的趋势 本文将深入探讨
  • JDK1.8新特性详解

    介绍 Java是世界上使用最广泛的编程语言之一 近年来随着互联网技术的高速发展 对Java的要求也越来越高 JDK1 8是Java平台上的一个重要版本 引入了许多新特性和改进 本文将详细介绍JDK1 8中的新特性和应用场景 一 Lambda
  • 日期处理(moment.js)使用笔记

    之前没接触moment js 在新项目中见到了 做一做使用笔记也是分享一下 安装 引用 npm install moment 或者 yarn add moment import moment from moment 导入文件 Vue pro
  • Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持

    by 垃圾程序员 当前文章具有时效性 在当前springboot的版本下做的整合 之后大家视情况可以直接到Spring的官网查看 Spring HomeLevel up your Java code and explore what Spr
  • MAC下QT5 + Xcode 4.6.3 使用小结

    1 直接在命令行里使用qmake 大家的MAC上面QT5的安装路径不同 导致不能直接使用qmake命令行 xcode项目也不能拿来就用 有两种方法可以直接在命令行里面使用qmake 1 修改 bash profile 此方法在PATH中添加