Qt如何加入Objective-C程式碼(包含如何查詢Objective-C的庫)
阿新 • • 發佈:2019-02-09
1、在包含此方法的pro(或pri)中加入Objective-C的標頭檔案和原始檔,例如:
2、在包含此方法的pro(或pri)中加入相關庫,例如:
3、在包含此方法的pro(或pri)中加入相關plist檔案,例如:
QMAKE_INFO_PLIST += ./os/ios/AirLink.plist
HEADERS += $$PWD/os/mac/readDeviceInfo.h
OBJECTIVE_SOURCES += $$PWD/os/mac/readDeviceInfo.mm2、在包含此方法的pro(或pri)中加入相關庫,例如:
LIBS += -framework CoreServices
LIBS += -framework Foundation3、在包含此方法的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會幫我們檢查錯誤。