如何在Windows上编译Objective-C windows下编译objective-C

\u5982\u4f55\u5728 Windows\u4e0a\u7f16\u8bd1Objective-C-Android

Objective-C\u73b0\u5728\u51e0\u4e4e\u5df2\u7ecf\u53d8\u6210\u4e86\u82f9\u679c\u7684\u4e13\u5229\u4e86\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u82f9\u679c\u7684Xcode\u4e0a\u7f16\u8bd1Objective-C\u7a0b\u5e8f\uff0c\u4f46\u662f\u5728Windows\u5e73\u53f0\u4e0b\u7684\u7f16\u8bd1\u5de5\u5177\u5c31\u5be5\u5be5\u65e0\u51e0\u4e86\uff0c\u672c\u8eab\u8fd9\u79cd\u8bed\u8a00\u7528\u7684\u4eba\u5c31\u4e0d\u662f\u5f88\u591a\u3002\u4eca\u5929\u5728\u7f51\u4e0a\u7a81\u7136\u770b\u5230\u4e86\u6709\u4eba\u53d1\u5e16\uff0c\u53ef\u4ee5\u5728Windows\u5e73\u53f0\u4e0b\u7f16\u8bd1Objective-C\uff0c\u5c31\u62b1\u7740\u597d\u5947\u7684\u5fc3\u6001\u8bd5\u4e86\u8bd5\u3002\u6ca1\u60f3\u5230\uff0c\u5c45\u7136\u6210\u529f\u4e86\uff0c\u73b0\u5728\u5c31\u628a\u600e\u6837\u642d\u5efaObjective-C\u7f16\u8bd1\u5e73\u53f0\u7684\u7ecf\u9a8c\u62ff\u51fa\u6765\u548c\u5927\u5bb6\u5206\u4eab\u3002

1\u3001\u5b89\u88c5GNUstep
GNUstep Windows Installer\u63d0\u4f9b\u4e86Windows\u5e73\u53f0\u4e0b\u7684Object-C\u7684\u6a21\u62df\u5f00\u53d1\u73af\u5883\uff0c\u4e00\u5171\u6709\u56db\u4e2a\u8f6f\u4ef6\u5305\uff0c\u5176\u4e2dGNUstep System\u548cGNUstep Core\u662f\u5fc5\u88c5\u7684\uff0cGNUstep Devel\u548cCairo Backend\u662f\u9009\u88c5\u7684\u3002\u53ea\u5b89\u88c5\u524d\u4e24\u4e2a\u5c31\u591f\u4e86\u3002

2\u3001\u7f16\u5199Objective-C\u4ee3\u7801
\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5728\u5f00\u59cb\u83dc\u5355\u91cc\u7684GNUstep\u9009\u9879\u91cc\u6267\u884cshell\uff0c\u5c31\u80fd\u6253\u5f00\u547d\u4ee4\u884c\u3002\u76f4\u63a5\u5728Windows\u91cc\u8fdb\u5165C:/GNUstep/home/Administrator\uff08\u6211\u7684\u662fAdministrator\uff0c\u53ef\u80fd\u6709\u7684\u4e0d\u4e00\u6837\uff09\u76ee\u5f55\uff0c\u5728\u8fd9\u91cc\u7528\u4f60\u559c\u6b22\u7684\u5de5\u5177\uff08\u73b0\u5728UltraEdit\u548cNotepad++\u7f16\u8f91\u5668\u597d\u50cf\u53ef\u4ee5\u4ee3\u7801\u9ad8\u4eae\uff09\u7f16\u5199Object-C\u7a0b\u5e8f\u3002
\u5982\uff1aHelloWorld.m

#import

int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];

return 0;
}

3\u3001\u914d\u7f6e\u73af\u5883\u53d8\u91cf
\u8fd9\u4e00\u6b65\u5f88\u91cd\u8981\u3002GNUstep.sh\u662f\u7528\u6765\u8bbe\u7f6eGNUstep\u5f00\u53d1\u73af\u5883\u53d8\u91cf\u7684\uff0c\u5982\u679c\u6ca1\u6709\u6267\u884c\uff0c\u5c31\u4f1a\u6709\u5f88\u591a\u5934\u6587\u4ef6\uff0c\u5e93\u6587\u4ef6\uff0c\u547d\u4ee4\u627e\u4e0d\u5230

\u5728\u4e00\u4e2a\u76ee\u5f55\u91cc\u5199\u597d\u4e86\u6e90\u4ee3\u7801\u4ee5\u540e\uff0c\u7f16\u5199\u4e00\u4e2amake\u914d\u7f6e\u6587\u4ef6\uff0c\u540d\u5b57\u5fc5\u987b\u53ebGNUmakefile\uff0c\u5185\u5bb9\u662f

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=Test
Test_OBJC_FILES=HelloWorld.m

include $(GNUSTEP_MAKEFILES)/tool.make

\u53ef\u4ee5\u4fee\u6539\u4e0a\u9762\u7684\u9ed1\u4f53\u90e8\u5206

\u7136\u540e\u5c31\u662f
make

\u547d\u4ee4\u8fd0\u884c\u6210\u529f\u5c31\u53ef\u4ee5\u770b\u5230\u65b0\u589e\u4e86\u4e00\u4e2aobj\u76ee\u5f55\uff0c\u91cc\u9762\u5c31\u6709\u4f60\u8981\u7684\u53ef\u6267\u884c\u6587\u4ef6\u548c.o\u6587\u4ef6\u3002

OK \u641e\u5b9a\u4e86\u3002

http://www.gnustep.org/experience/Windows.html
\u5728\u4e0a\u9762\u7684\u7f51\u7ad9\u4e0b\u8f7d
gnustep-core-0.23.1-setup.exe
gnustep-system-0.23.0-setup.exe
Gorm-1.2.10-setup.exe
SystemPreferences-1.1.0-setup.exe
\u6ce8\u610f\u90fd\u4e0b\u6700\u65b0\u7248\u672c\u7684\u5427.

\u4e0b\u597d\u540e,\u90fd\u662f\u4e00\u8defNEXT\u5b89\u88c5\u5c31\u597d\u4e86.
\u5047\u8bbe\u4f60\u88c5\u5728D\u76d8,

>\u4ee3\u7801\u5e94\u8be5\u5199\u5728\u4ec0\u4e48\u5730\u65b9
\u7136\u540e\u8bf4\u5199\u4ee3\u7801,\u4ee3\u7801\u5199\u5728\u54ea\u91cc\u90fd\u53ef\u4ee5.\u5c31\u653eC:/\u597d\u4e86.

>\u600e\u4e48\u751f\u6210\u8fd0\u884c
\u5047\u8bbe\u4f60\u5199\u4e00\u4e2a\u7a0b\u5e8f\u53eb hello.m, \u5728c:/\u4e0b\u9762.

\u90a3\u4e48\u6253\u5f00cmd \u7528\u5982\u4e0b\u547d\u4ee4\u53bb\u7f16\u8bd1,

D:\GNUstep\mingw\bin\gcc.exe hello.m -o hello.exe -I D:\GNUstep\GNUstep\System\Library\Headers -L D:\GNUstep\GNUstep\System\Library\Libraries -lobjc -fobjc-exceptions -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import

\u957f\u662f\u957f\u4e86\u70b9,\u4f46\u662f\u5f88\u5bb9\u6613\u61c2\u7684,\u7b80\u5355\u8bf4\u4e00\u4e0b,
\u6700\u524d\u9762\u7684\u662f\u6307\u5b9agcc.exe,\u8fd9\u4e2a\u4f60\u662f\u80af\u5b9a\u77e5\u9053\u7684.

\u540e\u9762\u7684 -I xxx \u548c -L xxxx \u5206\u522b\u662f\u6307\u7f16\u8bd1\u7684\u65f6\u5019\u7528\u5230\u7684\u5934\u6587\u4ef6\u548c\u5e93,
\u4e3b\u8981\u662fcocoa\u7684\u4e00\u4e9b\u5e93\u5427.

\u518d\u540e\u9762\u662f\u4e00\u5806 Flag,\u4e5f\u5c31\u662f\u7f16\u8bd1\u9009\u9879,\u770b\u540d\u5b57\u90fd\u62c6\u5dee\u4e0d\u591a\u4e86.

>\u6211\u73b0\u5728\u7684\u95ee\u9898\u662f\u4e0d\u77e5\u9053\u4ee3\u7801\u5e94\u8be5\u5199\u5728\u54ea\u91cc
>\u662f\u65b0\u5efaTXT\u6587\u6863\u8fd8\u662f\u7528\u4ec0\u4e48\u5176\u4ed6\u7684\u5de5\u5177\uff1f
\u770b\u4e86\u4e0a\u9762\u7684\u7f16\u8bd1\u547d\u4ee4,\u6211\u60f3\u4f60\u5df2\u7ecf\u77e5\u9053\u600e\u4e48\u5199\u4e86\u5427,

>\u80fd\u4e0d\u80fd\u7ed9\u63a8\u8350\u4e00\u4e2a
VIM\u4f60\u7528\u8fc7\u4e48?\u4f1a\u7528\u7684\u8bdd,\u5b83\u7684\u597d\u5904\u5c31\u4e0d\u591a\u8bf4\u4e86.
\u6211\u6b63\u5728\u7528\u5b83,\u81ea\u5b9a\u4e49\u70ed\u952e,
\u4e00\u4e2aF8\u5c31\u8fc7\u53bb\u7f16\u8bd1,\u4e00\u4e2aC-F8\u5c31\u770b\u5230\u8fd0\u884c\u7ed3\u679c,
\u5e76\u4e0d\u8981\u4f60\u771f\u6b63\u7684\u53bbCMD\u4e0b\u7f16\u8bd1\u8fd0\u884c\u4e5f\u53ef\u4ee5\u7684

\u4e0d\u4f1a\u7684\u8bdd,\u5c31UE, EditPlus, \u53ea\u8981\u6709objective c \u8bed\u6cd5\u63d0\u793a\u7684\u90fd\u53ef\u4ee5\u5427.

>\u662f\u65b0\u5efaTXT\u6587\u6863\u8fd8\u662f\u7528\u4ec0\u4e48\u5176\u4ed6\u7684\u5de5\u5177\uff1f
\u8bf4\u767d\u4e86,\u5c31\u662fc\u7a0b\u5e8f\u554a,\u5f53\u7136\u662ftxt\u683c\u5f0f\u7684\u4e86.



\u597d\u4e86,\u91cd\u70b9\u7684,\u5b89\u88c5 \u548c \u7f16\u8bd1 \u90fd\u5df2\u7ecf\u5199\u7ed9\u4f60\u4e86, \u81ea\u5df1\u518d\u7814\u7a76\u4e00\u4e0b\u5427.

PS.\u987a\u4fbf\u8bf4\u4e0b,\u8fd9\u4e2a\u73af\u5883\u7684OC,\u4e0d\u652f\u63012.0\u7279\u6027,
\u76f4\u63a5\u4e00\u70b9\u8bb2,\u4e0d\u652f\u6301OC\u7684\u5c5e\u6027\u64cd\u4f5c,
\u4e5f\u5c31\u662f\u90a3\u4e2a @property \u6807\u7b7e\u8bc6\u522b\u4e0d\u4e86\u7684.

1、安装GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cairo Backend是选装的。只安装前两个就够了。

2、编写Objective-C代码
安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行。直接在Windows里进入C:/GNUstep/home/Administrator(我的是Administrator,可能有的不一样)目录,在这里用你喜欢的工具(现在UltraEdit和Notepad++编辑器好像可以代码高亮)编写Object-C程序。
如:HelloWorld.m

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];

return 0;
}

3、配置环境变量
这一步很重要。GNUstep.sh是用来设置GNUstep开发环境变量的,如果没有执行,就会有很多头文件,库文件,命令找不到

在一个目录里写好了源代码以后,编写一个make配置文件,名字必须叫GNUmakefile,内容是

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=Test
Test_OBJC_FILES=HelloWorld.m

include $(GNUSTEP_MAKEFILES)/tool.make

可以修改上面的黑体部分

然后就是
make

命令运行成功就可以看到新增了一个obj目录,里面就有你要的可执行文件和.o文件。

OK 搞定了。

方法如下:
1、安装GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cairo Backend是选装的。只安装前两个就够了。
2、编写Objective-C代码
安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行。直接在Windows里进入C:/GNUstep/home/Administrator(我的是Administrator,可能有的不一样)目录,在这里用你喜欢的工具(现在UltraEdit和Notepad++编辑器好像可以代码高亮)编写Object-C程序。
如:HelloWorld.m
#import <Foundation/Foundation.h>
int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];

return 0;
}
3、配置环境变量
这一步很重要。GNUstep.sh是用来设置GNUstep开发环境变量的,如果没有执行,就会有很多头文件,库文件,命令找不到
在一个目录里写好了源代码以后,编写一个make配置文件,名字必须叫GNUmakefile,内容是
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME=Test
Test_OBJC_FILES=HelloWorld.m
include $(GNUSTEP_MAKEFILES)/tool.make
然后就是
make
命令运行成功就可以看到新增了一个obj目录,里面就有你要的可执行文件和.o文件,就完成了。

  • 瑁匴i10绯荤粺鍑虹幇OOBEKEYBOARD鎬庝箞浜 瑁匴i10绯荤粺鍑虹幇OB鎸囦护澶勭悊
    绛旓細1銆佹柟娉1锛氬悓鏃舵寜shift+F10 鎵撳紑鍛戒护绐楀彛锛岃繘鍏ュ埌C:/windows/system32/oobe鏂囦欢澶癸紝杈搈soobe 鍥炶溅锛岀劧鍚庤緭鍏soobe杩涘叆涓嬩竴姝ワ紝涓嶇敤鐞嗕細閿欒鎻愮ず妗嗐傛寜鐓у睆骞曟彁绀鸿緭鍏ョ浉搴旂殑淇℃伅鐩磋嚦瀹屾垚绯荤粺鐨勫畨瑁呭嵆鍙2銆佹柟娉2锛1锛夊悓鏃舵寜shift+F10 鎵撳紑鍛戒护绐楀彛锛岃緭鍏 CD/ 骞舵寜鍥炶溅閿悗锛岃繑鍥炲埌鏍圭洰褰曪紝姝ゆ椂灞忓箷涓婃樉...
  • 濡備綍鍦 Windows 涓缂栬瘧 OpenSSL
    绛旓細bc:1.涓嬭浇nsm09839.zip寰蒋姹囩紪缂栬瘧鍣,瑙e帇,鎷疯礉鍒癱:/windows鐩綍涓,淇敼鍚嶇О涓簄asmw.exe;2.鍦╫penssl-1.0.1e鐩綍涓,鎵ц鍛戒护鏉ユ壒澶勭悊鏂囦欢:ms\do_nasm涓 浠g爜缂栬瘧vc:瀹屾垚涓婇潰姝ラ鍚,鍙互鐪嬪埌涓や釜鍏抽敭鑴氭湰鏂囦欢:nt.mak鍜宯tdll.mak.濡傛灉鎴戜滑闇瑕佺紪璇戝悗鐨凮penSSL搴撴槸鏀寔鍔ㄦ丏LL褰㈠紡鐨,閭d箞搴旇浣跨敤ntddll.mak鏂囦欢...
  • 鎬庝箞鍦╳indows涓缂栬瘧 openssl debug鐗堟湰鐨刲ib鎴杁ll
    绛旓細CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE - 鈥︹︹︿腑鐨凪D涓篗Dt銆缂栬瘧鍑烘潵鐨勫缁堥兘鏄痳elease鐗堟湰鐨刲ib 缂栬瘧閫夐」鍔 -Zi , 閾炬帴閫夐」鍔犱笂 -debug ...杞浇锛屼粎渚...
  • PDNob 钀ゅ箷鎴浘杞枃瀛楄蒋浣,蹇熷皢鍥剧墖杞枃瀛(Win&Mac)
    绛旓細瀹夎濂 PDNob 涔嬪悗锛岄渶瑕佸墠寰 MAC 銆屽亸濂借瀹氥>銆屽畨鍏ㄦт笌闅愮鏉冦嶏紝鐒跺悗鍦ㄣ岄殣绉佹潈銆嶉夐」涓壘鍒般岃悿骞曞綍鍒躲嶏紝鐒跺悗灏嗐孭DNob Image Translator銆嶆墦鍕撅紝涔熷氨鏄厑璁 PDNob 浣跨敤钀ゅ箷褰曞埗鍔熻兘銆傝瀹氬ソ涔嬪悗锛屼綘灏卞彲浠ュ鐫缃戦〉涓婁换浣曠殑鍥剧墖杩涜鎴浘锛屽揩鎹烽敭濡備笅銆侻ac锛欳ommand+1 Windows锛欳trl+Alt+Z 瀵...
  • 濡備綍鍦Word涓緭鍏ュ嚑娆℃柟鍜屼笅鏍?
    绛旓細鍦ㄥ瓧浣撯旀晥鏋滈夐」鐐逛笂鏍囨垨涓嬫爣灏卞彲浠ヤ簡
  • 姹傚姪,濡備綍浣跨敤opgg瑙傛垬闊╂湇楂樻墜
    绛旓細1. 棣栧厛 锛岀櫥褰 www.op.gg 杈撳叆浣犳兂OB鐨処D 銆2. 鍐嶆墦寮鐨勭綉椤典腑鏌ユ壘浣犳兂瑙傜湅鐨勫満娆 鐐瑰嚮璇ュ満娆″彸涓婃柟鐨剅eplay鎸夐挳銆3. 濡傚浘鎵绀 涓嬭浇observer 淇濆瓨浜庢闈4. 鍙抽敭缂栬緫璇ユ枃浠 鎵惧埌璇ユ枃浠朵腑濡傚浘鎵绀虹殑钃濊壊閮ㄥ垎銆5. 澶嶅埗璇ラ儴鍒 鐒跺悗娓呯┖鍏ㄩ儴涔辩爜 鍐嶆妸钃濊壊閮ㄥ垎绮樿创杩涘幓銆6. 淇濆瓨璇ユ枃浠 鏀剧疆浜嶭OL...
  • windows绯荤粺鏂囦欢涓悇绉嶆墿灞曞悕鍒嗗埆鏄粈涔堟剰鎬?
    绛旓細MPR:Microsoft FoxPro鑿滃崟(宸缂栬瘧)MSI:Windows 瀹夎鍣ㄥ寘MSN:Microsoft 缃戠粶鏂囨。;Descent Mission鏂囦欢OOBD:Microsoft Office娲婚〉澶筄BJ:瀵硅薄鏂囦欢OBZ:Microsoft Office娲婚〉澶瑰悜瀵糘CX:Microsoft瀵硅薄閾炬帴涓庡祵鍏ュ畾鍒舵帶浠禣DS:Microsoft Outlook Express閭鏂囦欢OFT:Microsoft Outlook妯℃澘OPX:OPL鎵╁睍DLL(鍔ㄦ侀摼鎺ュ簱)OSS:Microsoft Office...
  • 濂藉ご鐤奸樋,鏁板鍏紡缂栬緫鍣鎬庝箞鐢ㄩ樋,璋佺粰鎴戜竴濂楁暀绋
    绛旓細鍓嶉潰璁茶繃闂磋窛绗﹀彿锛屽湪鈥滈棿璺濆拰鐪佺暐鍙封濇ā鏉夸腑閫夋嫨鈥滃叏韬棿璺濃濈鍙凤紝鐒跺悗灏卞彲浠ヨ緭鍏モ淥A=OB鈥濅簡銆傛渶鍚庤鎻愪竴涓嬪嚑浣曚腑缁忓父浣跨敤鐨勪笁瑙掑舰绗﹀彿锛屽墠闈㈠彲浠ョ敤鈥滃笇鑵婂瓧姣(澶у啓)鈥濇ā鏉夸腑鐨凞elta绗﹀彿鏉ヨ〃绀恒傚叚.鎻掑叆鐗╃悊鍏紡 鐗╃悊鍏紡鐨勮緭鍏ヤ笌鏁板鍏紡绫讳技锛岃繖閲屽彧璇磋甯歌鐨勭煝閲忕鍙枫傚鎬庢牱鎻掑叆F涓婇潰鐨勭澶村憿锛熷湪...
  • 濡備綍鎶奧ORD涓殑鍏紡杞崲鎴怲XT
    绛旓細灏哤ORD涓殑鍏紡杞崲涓簍xt鏍煎紡鐨勬柟娉曞涓嬶紙浠windows10绯荤粺鐨剋ord2019鐗堜负渚嬶級锛1銆佹墦寮word鏂囨。锛岀偣鍑婚渶瑕佷繚瀛樹负txt鐨勫叕寮忋2銆侀殢鍚庝娇鐢ㄩ紶鏍囨嫋鎷界殑鏂规硶閫変腑闇瑕佸鍒跺埌txt鐨勫叕寮忓唴瀹广3銆佷娇鐢ㄩ敭鐩樺揩鎹烽敭鈥淐trl+C"澶嶅埗鍏紡鎴栧彸閿偣鍑诲叕寮忥紝鍦ㄦ帴鐫寮瑰嚭鐨勪笅鎷夎彍鍗曚腑鐐瑰嚮澶嶅埗銆4銆佹墦寮涓涓猼xt鏂囨。锛屼娇鐢ㄩ敭鐩樺揩鎹...
  • C:\Windows\system32\sppwinob.dll, msft:spp/windowsfunctionality/...
    绛旓細杩欎釜鏄▼搴忚皟鐢ㄧ殑DLL鍟
  • 扩展阅读:免费成私人小影院品牌加盟 ... solidworks永久免费版 ... 免费的舆情网站入口有哪些 ... 免费欧洲vpswindows ... 免费网站在线观看人数在哪 ... 日本插槽x8插槽怎么用图解 ... 免费永久windows服务器 ... windows永久禁止更新mv ... b站网页入口免费不收费 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网