我已經看到很多關於如何將Objective-C應用程序鏈接到C++庫的信息,但是你可以用其他方法做到嗎?您可以將C++ Linux針對的應用程序鏈接到Objective-C靜態庫嗎?
我的合作伙伴和我一直在使用Objective-C開發iPhone應用程序。通過該項目的一半,我們決定添加一個新功能。此功能將需要推送通知,因此我們需要編寫將在Linux機器上運行的服務器端應用程序。此服務器應用程序需要訪問Objective-C中編寫的代碼(大部分,實際上)。我想我們有兩個選擇:用C/C++重寫所有的東西,或者重新編譯Linux上的Objective-C代碼。由於重寫時間太長,我想採取第二條路線。
我設法使用GCC和GNUstep將我們需要的用於linux服務器應用程序的Objective-C類編譯成靜態庫。我想用C++編寫實際的服務器應用程序,但我需要將該應用程序鏈接到Objective-C庫。可以做到嗎?怎麼樣?
如果沒有,任何人都可以給我一個如何去做這個想法?
我想你基本上需要將調用放入'.m'文件並調用你在那裏定義的任何c函數? –
@ MichaelKrelin-hacker也許你的意思是'.mm'?無論哪種方式,你所說的是,我的所有服務器端Linux應用程序的源文件都必須由GCC Objective-C前端編譯?我不能命名我的文件'something.cpp'並將它們鏈接到Objective-C庫('-lMyObjCLib')? –
'.m'應該這樣做。不,我認爲你可以從'.c'或'.cc'(或'.cpp')文件的'.m'文件中調用''''函數。這只是接口部分應該是'.m'。 –