1. 程式人生 > >Qt如何加入Objective-C程式碼(包含如何查詢Objective-C的庫)

Qt如何加入Objective-C程式碼(包含如何查詢Objective-C的庫)

1、在包含此方法的pro(或pri)中加入Objective-C的標頭檔案和原始檔,例如:

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

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

2、在包含此方法的pro(或pri)中加入相關庫,例如:

LIBS += -framework CoreServices

LIBS += -framework Foundation

3、在包含此方法的pro(或pri)中加入相關plist檔案,例如:
QMAKE_INFO_PLIST += ./os/ios/AirLink.plist

雖然Qt依然對我們的程式抱有不滿(會顯示這裡有問題),但是已經可以編譯成功了: 


如何查詢Objective-C所對應的庫呢?這個要藉助Xcode的幫助文件了。

我們開啟Mac上的X-code,如下點選:


一般先在Xcode上編譯通過的程式,如果Qt編譯是報錯,一般是少庫的原因。

按錯誤原因查詢,在X-code的幫助文件中找到對應的庫,然後再Qt的pro或者pri中加入(LIBS += -framework+庫名)便可,例如下圖中的NSBundle是需要Foundation庫,於是我們加入LIBS += -framework Foundation語句。


就這樣,我們把Object-C編寫的檔案加入了我們的Qt程式中,Qt其實是可以編譯的,但是編輯器檢查依舊是不識別Object-C程式碼的,這點我們要引起注意。所以說,要現在X-code上編譯通過了,再用Qt,因為X-code會幫我們檢查錯誤。