繁体   English   中英

在 macos-catalina 上编译 C

[英]Compiling C on macos-catalina

我在 Windows 上开发了一个相当大的 Fortran 程序,它调用一些 C 例程进行字符输入。 我提供了一个 makefile 用于在各种 Unix 方言和 MacOS 上编译这个程序。 我刚刚将用于测试的 Mac 升级到 Catalina,并且 C 例程的编译失败,它无法找到所有(对我而言)神秘库“sys/ioctl.h”“signal.h”等。这适用于以前MacOS 版本莫哈韦。

我(在使用 Mojave 时)使用 gcc 安装了 gfortran,并且我有编译器标志 -DBSD 到 select 一些必要的 C 系统库。 我还有 Linux 和 Cygwin 的其他标志。

我自己不使用 Mac,但我的程序有一些用户使用 Mac,所以我想让他们开心。 我应该如何修改我的 makefile?

正如我从“无法在 Mac 上编译 C 程序......”的答案中发现的那样,Apple 显然对在 Mac 上拥有任何其他软件不感兴趣。 而不是试图理解各种选项来更改目录结构 /usr/include 和 /usr/local/include 以使用 GCC 我决定使用 C 编译器 Apple 在我的 ZB67911656EF5D18C4AE36CB765 因此,只需从“gcc”更改为“cc”并删除 Apple C 编译器中不可用的一些编译器选项,我就设法编译了我的程序。 我想我很幸运只有两个小的 C 例程,尝试编译更复杂的东西需要对 MacOS 有比我感兴趣的更多的了解。

我在研究如何为 Catalina 编译旧的 32 位游戏时遇到了这个问题。 我还发现 Catalina 删除了 GCC 期望的一些现有/usr/include结构,并且有必要创建一些符号链接以及复制一些总体结构以修改 header。

GCC 的大部分源代码都来自 GNU,所以我可能预计会有一些不兼容性,但这可能会帮助遇到这个问题的其他人: https://solarianprogrammer.com/2019/10/12/compiling-gcc-macos/

存档版本(2019 年 11 月 3 日): http://web.archive.org/web/20191103040729/https://solarianprogrammer.com/2019/10/12/compiling-gcc-macos/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM