ios qt開發要點

目前關于ios qt的開發資料比較少,這里整理了幾個比較重要的開發要點,基于MacOS14 + Xcode15 + Qt15.5 + cmake + iphone真機。

  • cmake報錯,報錯信息如下
CMake Error at /Users/user/Qt/5.15.5/ios/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:91 (message):
Library not found: MobileCoreServices
Call Stack (most recent call first):
/Users/user/Qt/5.15.5/ios/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:263
(_qt5_Core_process_prl_file)
/Users/user/Qt/5.15.5/ios/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
CMakeLists.txt:28 (find_package)

解決方法:添加cmake參數

-DCMAKE_FIND_ROOT_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_SYSTEM_NAME=iOS
-DCMAKE_OSX_SYSROOT=iphoneos
-DCMAKE_OSX_ARCHITECTURES=arm64

并在CMakeLists.txt中添加

if(IOS)target_link_options(${user_project_target_name} PRIVATE "-Wl,-e,_qt_main_wrapper")
endif()

參考來源:https://bugreports.qt.io/browse/QTCREATORBUG-26121

  • 找不到openssl,報錯如下
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in thesystem variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR)

實測設置OPENSSL_ROOT_DIR無效,這里可以手動指定相應的cmake變量,在FindOpenSSL.cmake做相應的修改。

FIND_PATH(OPENSSL_INCLUDE_DIRNAMESopenssl/ssl.hPATH_SUFFIXES"include"HINTS${_OPENSSL_INCLUDEDIR}${_OPENSSL_ROOT_HINTS_AND_PATHS}PATH_SUFFIXESinclude
)# add for ios
IF(IOS AND NOT OPENSSL_INCLUDE_DIR)set (OPENSSL_INCLUDE_DIR "/usr/local/opt/opensslios@1.1/include")set (SSL_LIBRARY "/usr/local/opt/opensslios@1.1/lib/libssl.a")set (CRYPTO_LIBRARY "/usr/local/opt/opensslios@1.1/lib/libcrypto.a")list(APPEND OPENSSL_LIBRARIES ${CRYPTO_LIBRARY} ${SSL_LIBRARY})
ENDIF()
  • 打開.pro項目文件報錯,無法展開項目文件樹
failed to parse default search paths from compiler output

解決方法:在qmake構建步驟添加額外參數

 -early QMAKE_DEFAULT_LIBDIRS=$(xcrun -show-sdk-path)/usr/lib

參與來源:https://bugreports.qt.io/browse/QTBUG-117225

  • 設置AppIcon無效,解決方法:1)在Xcode中將xcassets文件添加到Build Phases中的Copy Bundle Resources中;2)也可以在cmake如下添加:
set_target_properties(${MODULE_NAME} PROPERTIES RESOURCE "xxx.xcassets")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161528.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161528.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161528.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#Wpf關于日志的相關功能擴展

目錄 一、日志Sink(接收器) 二、Trace追蹤實現日志 三、日志滾動 一、日志Sink(接收器) 安裝NuGet包:Serilog Sink有很多種,這里介紹兩種: Console接收器(安裝Serilog.Sinks.Console); File接收器(安裝…

CSM32RV003:國產高精度16位ADC低功耗RISC-V內核MCU

目錄 高精度ADC工業應用工業數據采集應用CSM32RV003簡介主要特性 高精度ADC工業應用 高精度ADC即高精度模數轉換器,是一種能夠將輸入模擬信號轉換為數字信號的芯片,在多種消費電子、工業、醫療和科研領域都有廣泛應用。高精度ADC的主要特點是能夠提供高…

深度學習圖像修復算法 - opencv python 機器視覺 計算機競賽

文章目錄 0 前言2 什么是圖像內容填充修復3 原理分析3.1 第一步:將圖像理解為一個概率分布的樣本3.2 補全圖像 3.3 快速生成假圖像3.4 生成對抗網絡(Generative Adversarial Net, GAN) 的架構3.5 使用G(z)生成偽圖像 4 在Tensorflow上構建DCGANs最后 0 前言 &#…

前端 HTML 的 DOM 事件相關知識有哪些?

HTML 的 DOM 事件是指在網頁上發生的各種事件,如點擊、鼠標移動、鍵盤輸入等。 通過 JavaScript 腳本可以對這些事件進行監聽和處理,以實現交互效果。以下是一些常見的 DOM 事件及其相關知識點: 1、click:點擊事件,在…

vue3引入vuex基礎

一:前言 使用 vuex 可以方便我們對數據的統一化管理,便于各組件間數據的傳遞,定義一個全局對象,在多組件之間進行維護更新。因此,vuex 是在項目開發中很重要的一個部分。接下來讓我們一起來看看如何使用 vuex 吧&#…

linux文件I/O:文件鎖的概念、函數以及代碼實現

文件鎖是一種用來保證多個進程對同一個文件的安全訪問的機制。文件鎖可以分為兩種類型:建議性鎖和強制性鎖。建議性鎖是一種協作式的鎖,它只有在所有參與的進程都遵守鎖的規則時才有效。強制性鎖是一種強制式的鎖,它由內核或文件系統來強制執…

使用Pytorch從零開始構建RNN

在這篇文章中,我們將了解 RNN(即循環神經網絡),并嘗試通過 PyTorch 從頭開始??實現其中的部分內容。是的,這并不完全是從頭開始,因為我們仍然依賴 PyTorch autograd 來計算梯度并實現反向傳播&#xff0c…

Apache訪問控制

服務器相關的訪問控制 Options指令 Options指令是Apache服務器配置文件中的一個重要指令,它可以用于控制特定目錄啟用哪些服務器特性。Options指令可以在Apache服務器的核心配置、虛擬主機配置、特定目錄配置以及.htaccess文件中使用。 以下是一些常用的服務器特性選項: N…

Django(九、cookie與session)

文章目錄 一、cookie與session的介紹HTTP四大特性 cookiesession Django操作cookie三板斧基于cookie的登錄功能 一、cookie與session的介紹 在講之前我們先來回憶一下HTTP的四大特性 HTTP四大特性 1.基于請求響應 2.基于TIC、IP作用于應用層上的協議 3.無狀態 保存…

二叉查找(排序)樹你需要了解一下

簡介 二叉排序樹(Binary Sort Tree),又稱二叉查找樹(Binary Search Tree),亦稱二叉搜索樹,是一種重要的數據結構。 它有以下特性: 若左子樹不空,則左子樹上所有結點的…

目標檢測YOLO系列從入門到精通技術詳解100篇-【圖像處理】目標檢測

目錄 幾個高頻面試題目 如何在超大分辨率的圖片中檢測目標? 1當超大分辨率圖像邂逅目標檢測任務 2You Only Look Twice

邊緣計算多角色智能計量插座 x 資產顯示標簽:實現資產追蹤與能耗管理的無縫結合

越來越多智慧園區、智慧工廠、智慧醫院、智慧商業、智慧倉儲物流等企業商家對精細化、多元化智能生態應用場景的提升,順應國家節能減排、環保的時代潮流,設計一款基于融合以太網/WiFi/藍牙智能控制的智能多角色插座應運而生,賦予智能插座以遙…

大數據學習(23)-hive on mapreduce對比hive on spark

&&大數據學習&& 🔥系列專欄: 👑哲學語錄: 承認自己的無知,乃是開啟智慧的大門 💖如果覺得博主的文章還不錯的話,請點贊👍收藏??留言📝支持一下博主哦&#x1f91…

uniapp實現表單彈窗

uni.showModal({title: 刪除賬戶,confirmColor:#3A3A3A,cancelColor:#999999,confirmText:確定,editable:true,//顯示content:請輸入“delete”刪除賬戶,success: function (res) {console.log(res)if(res.confirm){if(res.contentdelete){console.log(123123123213)uni.setSto…

PCIE鏈路訓練-狀態跳轉1

A:12ms超時,或者再任何lane上檢測到Electrical Idle Exit; B: 1.發送“receiver detection”之后沒有一個lane的接收邏輯被rx檢測到 2.不滿足條件c,比如兩次detection出現差別; C:發送端在沒…

凸優化基礎與應用

諸神緘默不語-個人CSDN博文目錄 文章目錄 1. 線性規劃用SciPy求解 2. 二次規劃3. 半定規劃4. 錐規劃 凸優化是數學優化的一個重要分支,廣泛應用于各種工程和科學領域。它的核心特征在于優化問題的目標函數和約束條件是凸的,這使得找到全局最優解變得可行…

Ps:背景橡皮擦工具摳圖實例

背景橡皮擦工具 Background Eraser Tool由于是一個破壞性的工具(直接刪除像素)而少被人使用。 其實,它不僅是一個功能強大的摳圖工具,也是可以轉換為非破壞性運用的。 原圖(注:圖片來自網絡) 效…

微軟離Altman越近,離OpenAI就越遠!

大數據產業創新服務媒體 ——聚焦數據 改變商業 在OpenAI這場連續劇中(之所以說是連續劇,這個事情肯定沒完,后面肯定還會出續集),讓我倍感意外的是,Altman剛跟OpenAI分手,“離婚手續”都還沒辦…

使用Pytorch從零開始構建WGAN

引言 在考慮生成對抗網絡的文獻時,Wasserstein GAN 因其與傳統 GAN 相比的訓練穩定性而成為關鍵概念之一。在本文中,我將介紹基于梯度懲罰的 WGAN 的概念。文章的結構安排如下: WGAN 背后的直覺;GAN 和 WGAN 的比較;…

selenium新版使用find_element/find_elements函數鎖定元素(替換原有find_element_by_xx)

css選擇器請參考:網絡爬蟲之css選擇器 原來的find_element_by_xx都被修改為find_element(返回匹配到的第一個元素)或find_elements(返回全部的匹配元素) from selenium.webdriver.common.by import By示例程序 選擇…