我正在探索在Windows上編譯GNUstep的應用程序。這是我的main.m文件:如何編譯在Windows上使用NSApplication的GNUstep應用程序?
#import <???/???.h>
int main(int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
[pool release];
}
我意識到這是一個不完整的片段,至少可以說,它顯然不會做任何事情。我嘗試了幾種不同的導入語句,包括Cocoa/Cocoa.h,GNUstepGUI/GMAppKit.h等。但是我總是遇到編譯錯誤,似乎無法找到在線幫助。
這是我的編譯命令,我從MinGW的shell中運行:
gcc -o test main.m -I /GNUstep/System/Library/Headers/ \ -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base \ -fconstant-string-class=NSConstantString -enable-auto-import
這是我得到的錯誤:
c:/WINDOWS/TEMP/ccHxKZG2.o:main.m(.data+0x390): undefined reference to '___objc_class_name_NSApplication' collect2:ld returned 1 exit status
什麼,我需要#進口任何想法,或者需要在我的編譯命令中修復什麼?
謝謝!
「與OS X開發不同,你需要一個」makefile「」不完全。您需要鏈接正確的庫。使用預先安裝的Makefile模板只是一個簡單的方法。 Mac OS X上的Xcode項目模板也是如此。 –
我很好奇如何鏈接到庫 - 我在上下搜索了gcc和gnustep文檔,但沒有找到我正在尋找的內容(事實上可能是我的問題 - 我甚至不知道我知道我在找什麼)。 我的應用程序僅使用-framework選項編譯OS X,但在Windows中不可用。 –
答案將在GNUstep提供的Makefiles中。 –