当前位置: 首页 > news >正文

装饰公司响应式网站建设案例今日新闻网

装饰公司响应式网站建设案例,今日新闻网,泉州网站建设费用,如何做微信商城网站建设如何构建ObjC语言编译环境? 除了在线ObjC编译器,本地环境Windows/Mac/Linux均可以搭建ObjC编译环境。 Mac自然不用多说,ObjC是亲儿子。(WSL Ubuntu 22.04) Ubuntu可以安装gobjc/gnustep和gnustep-devel构建编译环境。 sudo apt-get install gobjc gnus…

如何构建ObjC语言编译环境?

除了在线ObjC编译器,本地环境Windows/Mac/Linux均可以搭建ObjC编译环境。

  • Mac自然不用多说,ObjC是亲儿子。
  • (WSL Ubuntu 22.04) Ubuntu可以安装gobjc/gnustep和gnustep-devel构建编译环境。
    sudo apt-get install gobjc gnustep gnustep-devel

    注意Clang一样可以编译ObjC,但Clang本身不包含ObjC最基本的头文件和库,需要单独下载,需上面的安装命令完成此环境配置。

    编译方法1:可以使用官方懒人版bash /usr/share/GNUstep/Makefiles/GNUstep.sh并写一个objc编译
    的makefile,用make命令搞定。
    编译方法2:利用gnustep-config --objc-flags和gnustep-config --objc-libs获取objc编译选项,并在编译时带入(注意,需额外增加-lgunstep-base)。例如:
    gcc demo.m -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fconstant-string-class=NSConstantString -I. -I/home/cx/GNUstep/Library/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep -shared-libgcc -pthread -fexceptions -rdynamic -L/home/cx/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/lib -lobjc -lm -lgnustep-base -o demo

    如用Clang编译,会遇到"objc/objc.h file not found"的错误,相比上面的GCC命令,需要多加一个头文件路径的参数参数:-I/usr/lib/gcc/x86_64-linux-gnu/11/include,当然也可以手动构造软链接sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/11/include/objc /usr/local/include/objc来解决。
  • (Windows 10) Windows可以下载gnustep可执行包,和上面Ubuntu的gnustep类似,只不过是Windows版本,自然只支持ObjC 1.0,不支持2.0.
    Index of /pub/gnustep/binaries/windows/
    GNUSTEP developer guide可参考官方文档:GNUstep: Documentation,也可以自己组装编译命令,例如:
    H:\tools\GNUstep\bin\gcc.exe demo.m -I H:/tools/GNUstep/GNUstep/System/Library/Headers -L H:/tools/GNUstep/GNUstep/System/Library/Libraries -std=c99 -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

构建无比简洁的clang编译ObjC环境

在编译ObjC代码的更简洁方法有提到,可以用更简洁的命令行在Ubuntu 22.04下编译ObjC环境,其实还可以更简洁,如下我们将构造一个clang-objc软链接,可以直接使用clang-objc demo.m编译。

  • 为了避免和平台已有clang命令冲突,我们先复制一个clang可执行档,命名为clang-objc.
    sudo cp /usr/lib/llvm-14/bin/clang /usr/lib/llvm-14/bin/clang-objc
  • 在/usr/bin目录构造clang-objc的软链接
    sudo ln -s /usr/lib/llvm-14/bin/clang-objc /usr/bin/clang-objc
  • 利用alias命令进一步精简clang-objc
    alias clang-objc='clang-objc -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'

OK, 可以用clang-objc demo.m编译你的文件了。

注意事项
  • clang编译ObjC,依然需要链接libobjc,如果有升级软件gcc,可能出现clang找不到libobjc, 需要在编译选项中单独添加链接库路径,例如:
    libobjc位于/usr/lib/gcc/x86_64-linux-gnu/11/libobjc.so
    需要增加选项:-L /usr/lib/gcc/x86_64-linux-gnu/11

Windows搭建Swift语言编译环境

Windows搭建Swift环境非常简单,从如下地址下载安装包,安装完,自动更新Swift的环境变量,打开命令行即可使用swiftc和swift.

  • Swift.org - Welcome to Swift.org


若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

http://www.dinnco.com/news/26461.html

相关文章:

  • 怎么免费做网站网络推广怎么收费
  • 淘客网站如何做推广企业培训课程名称
  • 用政府网站做参考文献的格式旅游新闻热点
  • 山东网络公司排名嘉兴seo报价
  • 扬中网站建设策划足球进球排行榜
  • 做电子商务网站 除了域名 网页设计 还有服务器 和网站空间百度推广网站平台
  • 网站怎么做留言网络推广营销网
  • 建设网站的费用属于制作网页用什么软件
  • 禅城区建网站公司网上怎么发布广告
  • 建筑网站排行soso搜搜
  • 展台展馆设计搭建搜索引擎的优化方法有哪些
  • 培训学校网站建设方案南昌seo排名优化
  • 前端优化网站博客可以做seo吗
  • 做个网站要多久西点培训
  • 个人注册公司查询免费推广seo
  • 那个软件可以做网站网站开发用什么语言
  • 外贸软件建设百度移动端优化
  • 怎样在百度上建网站软文营销广告案例
  • 上海哪个公司做网站好百度推广和优化哪个好
  • 郑州东区做网站电话推广下载
  • 做的网站空白了玄幻小说百度风云榜
  • 做坏事小视频网站2023年适合小学生的新闻有哪些
  • wordpress 本地同步到服务器seo关键词怎么选择
  • 杭州电商网站建设谷歌搜索引擎seo
  • 网站建设需要什么能力最新最好的磁力搜索
  • 山西省住房和建设厅网站app拉新推广平台渠道商
  • 网站制作评价一句话宣传自己的产品
  • 营销型网站建设的价格百度seo推广首选帝搜软件
  • 能玩游戏的网站西安竞价托管
  • 网站icp备案网址千锋教育地址