奇思妙想 · 2024年 4月 21日 0

编译ObjC代码的更简洁方法

61 次浏览

如果是Xcode环境,IDE有配置好ObjC编译所需的必要头文件、库和必要的编译选项,很轻松直接点构建即可。如果是在Linux或Windows环境,需要手动做这些配置,参考:如何构建ObjC语言编译环境?

事实上,在Linux环境,除了必须的GNUStep需要安装外,编译命令还可以用更简洁的方法。
测试环境:WSL Ubuntu22.04 gcc 11.4.0, clang 14.0.0

  • gcc demo.m -I `gnustep-config --variable=GNUSTEP_SYSTEM_HEADERS` -L `gnustep-config --variable=GNUSTEP_SYSTEM_LIBRARIES` -lgnustep-base -lobjc -fconstant-string-class=NSConstantString
  • clang demo.m -I `gnustep-config --variable=GNUSTEP_SYSTEM_HEADERS` -L `gnustep-config --variable=GNUSTEP_SYSTEM_LIBRARIES` -lgnustep-base -lobjc -I /usr/lib/gcc/x86_64-linux-gnu/11/include/ -fconstant-string-class=NSConstantString
    注意: 如上粗斜体是可变参数,以你的环境为准。

如需要构建无比简洁的环境,可参考:构建无比简洁的clang编译ObjC环境