首页 > 编程语言 >Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)

Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)

时间:2022-10-31 20:34:18浏览次数:46  
标签:code Qt framework pro OC 编译 Mac Objective


目录

  • ​​1、引入OC文件​​
  • ​​2、引入OC库​​
  • ​​3、引入Plist文件​​
  • ​​4、编译程序​​

1、引入OC文件

在pro(或pri)中加入Objective-C的头文件和源文件

例如:

HEADERS += $$PWD/os/mac/readDeviceInfo.h

OBJECTIVE_SOURCES += $$PWD/os/mac/readDeviceInfo.mm

2、引入OC库

在包含此方法的pro(或pri)中加入相关库

例如:

LIBS += -framework CoreServices

LIBS += -framework Foundation

3、引入Plist文件

在包含此方法的pro(或pri)中加入相关plist文件

例如:

QMAKE_INFO_PLIST += ./os/ios/AirLink.plist

4、编译程序

Qt会显示这里有问题,但是可以编译成功

Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)_plist文件

如何查找Objective-C所对应的库呢?
这个要借助Xcode的帮助文档了

我们打开Mac上的X-code,依次点击:

Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)_ObjectiveC_02

先在Xcode上编译通过的程序,如果Qt的IDE编译报错,一般是少库的原因。
按错误原因查找,在X-code的帮助文档中找到对应的库,然后再Qt的pro或者pri中加入(LIBS += -framework+库名)即可

例如:

下图中的NSBundle是需要Foundation库,于是我们加入LIBS += -framework Foundation语句。

Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)_ObjectiveC_03


把Object-C编写的文件加入了Qt项目中,

Qt是可以编译的,但是编辑器检查时,依旧是不识别Object-C代码的,这一点要记住哈。

X-code会帮我们检查错误,所以一般先在X-code上编译通过了,再用Qt去编译。


标签:code,Qt,framework,pro,OC,编译,Mac,Objective
From: https://blog.51cto.com/u_15854865/5811178

相关文章

  • Qt on Mac 开发之 Qt在Retina屏幕上的那些问题
    目录​​1、解决Qt在Retina屏幕上的图片模糊问题​​​​2、解决Qt在Retina屏幕上的密度问题​​​​1.iOS​​​​2.Android​​​​3.视网膜MacBook​​​​3、解决Qt......
  • Qt on Android 开发之 添加SSL、应用签名、解决“No CPU/ABI system image available
    目录​​一、Qt如何给Android添加SSL库​​​​1、简述​​​​2、步骤​​​​二、Android应用签名问题​​​​1、签名原因​​​​2、签名作用​​​​3、如何添加签名​......
  • Qt5气泡式聊天框——QListWidget+QPainter实现
    文章目录​​1、简介​​​​2、效果图​​​​3、实现原理​​​​4、核心代码​​​​4.1、头文件​​​​4.2、源文件​​​​5、代码分享​​​​5.1、Github​​​​5.......
  • Qt制作简单和高级SplashScreen(程序启动页面)
    一、简单的制作SplashScreenQt本来自带QSplashScreen类,这个简单的类提供了个简单的方法就是在程序启动前提供一个图片让其先启动,等我们主程序启动后这个启动页面消失。可以......
  • Qt输出打印信息的日志到文件(两种方式)
    效果: 1、利用ofstream文件写操作,将内存数据写入存储文件。找到main.cpp:①、增加头文件引用:#include<QDateTime>#include<QDebug>#include<fstream>//std::ofstre......
  • Qt on Android 开发之 C++与Java 交互
    目录​​简述​​​​Qt引入Android模块​​​​Java示例​​​​Cpp与java交互​​简述我做了一个小例子,来实现了C++与Java之间的交互。该示例是以整形和字符型举例说明,......
  • QT之自制Slider
    需求: 1.绘制一个滑动条,在其上方绘制三角形, 2.当鼠标进入(移动)到三角形区域时显示对应的标注值 3.鼠标双击时三角形时,滑块移动到该位置 4.鼠标单击滑块槽时,......
  • [nrf52][SDK17] 如何修改BLE_MAC地址?
    关键部分:ble_gap_addr_tble_mac_addr={0};sd_ble_gap_addr_get(&ble_mac_addr);//先获取ble当前mac地址ble_mac_addr.addr[0]++;//地址加1.......
  • TablePlus for mac/win(原生数据库开发管理应用)
    TablePlus是一款管理开发数据库的原生应用,它可以帮助您轻松编辑数据库中的数据和结构。TablePlus还包含许多安全功能以更好地保护您的数据安全,包括使用本地libssh和TLS来加......
  • Qt设置运行时动态库路径的几点说明
    Qt设置运行时动态库路径的几点说明Qt教程 2022-04-1601:00随着需求的不断增加,程序不断变大,用到的动态库也越来越多,到了发布程序的时候你会发现和可执行文件同一目录下......