如何在Windows编译Objective-C文件?含VSCode实现方案咨询
可编译Objective-C的平台
- macOS/iOS:Objective-C是苹果原生开发语言,macOS和iOS平台天然支持。可以用Xcode自带的
clang编译器,不管是Xcode IDE里编译,还是终端直接敲命令都能搞定。 - Linux:通过安装GNUstep环境+
clang/gcc实现。多数发行版的包管理器都能找到相关包,比如Debian/Ubuntu系可以用sudo apt-get install gnustep-devel clang,安装后就能用编译器编译Objective-C代码。 - Windows:有两种靠谱方式:一是安装GNUstep的Windows版本;二是用WSL(Windows子系统Linux),在Linux子系统里装GNUstep和编译器,后者兼容性更好。
VSCode编译Objective-C的简便步骤
- 先搭好编译环境
- macOS:终端执行
xcode-select --install安装命令行工具,自带clang和Foundation框架。 - Linux/WSL:按上面的方法装GNUstep和
clang/gcc。 - Windows:选GNUstep或者WSL方式装好对应环境。
- macOS:终端执行
- VSCode装必要插件
安装Code Runner(一键运行代码)和Objective-C(语法高亮、代码补全)两个插件,直接在VSCode扩展商店搜名字就能装。 - 配置Code Runner的编译命令
打开VSCode设置(快捷键Ctrl+,),搜索code-runner.executorMap,找到objective-c对应的配置项,替换成对应平台的命令:- macOS:
"objective-c": "clang -framework Foundation $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt" - Linux/WSL:
"objective-c": "gcc `pkg-config --cflags gnustep-base` $fileName -o $fileNameWithoutExt `pkg-config --libs gnustep-base` && ./$fileNameWithoutExt" - Windows(GNUstep):
"objective-c": "gcc -I C:/GNUstep/GNUstep/System/Library/Headers -L C:/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base $fileName -o $fileNameWithoutExt && $fileNameWithoutExt.exe"
- macOS:
- 测试运行
新建一个test.m文件,写入以下测试代码:
点击右上角的Code Runner运行按钮(或者用快捷键#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello, World!"); } return 0; }Ctrl+Alt+N),就能看到控制台输出结果了。
内容的提问来源于stack exchange,提问作者mn n
相关产品推荐
相关产品推荐

