创建静态 Mac OS X C 版本

2023-12-05

如何在 Mac OS X 上创建 .c 文件的静态构建?当我尝试时:

gcc -o test Main.c -static

I get:

ld: library not found for -lcrt0.o
collect2: ld returned 1 exit status

Mac OS X 的 gcc 不支持它:

http://discussions.apple.com/message.jspa?messageID=11053384

也许“-static”标志在 MacOS X 上不起作用。并非 gcc 的所有功能都在 MacOS X 上实现。Apple 甚至不会在操作系统的未来版本中使用 gcc。

我不知道如何使用“-static”进行链接。我想不出有什么理由在 MacOSX 上这样做。如果我知道你为什么想使用“-static”,我可能会对这个问题更感兴趣。现在,我只是不明白。通过寻求帮助,您实际上是在为该项目寻求合作者 - 即使只有 10 分钟。你需要让我感兴趣。

And http://developer.apple.com/library/mac/#qa/qa2001/qa1118.html

Mac OS X 不支持用户二进制文件的静态链接。将用户二进制文件与 Mac OS X 库和接口的内部实现联系起来会限制我们更新和增强 Mac OS X 的能力。相反,支持动态链接(针对 crt1.x 链接)。例如,自动查找 crt0.o,而不是查找 crt0.o)。

我们强烈建议您仔细考虑静态链接的局限性,并考虑您的客户及其需求,以及您需要提供的长期支持。

更新:禁止的是静态二进制文件。但是您仍然可以编译一些静态库并将其与另一个程序一起使用。程序将与您的库静态链接,但其他库(如 libc)将是动态的,因此程序将是动态可执行文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建静态 Mac OS X C 版本 的相关文章

  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的

随机推荐

  • 如何使用TIdTCPServer持续发送消息?

    我需要创建一个delphi应用程序 当它启动时 服务器也会启动并立即开始发送消息 但我还没有找到示例或教程 并且近5000页的Indy手册并没有让我清楚我如何可以做到这一点 此示例使用带有主窗体的 Delphi 2009 VCL 应用程序
  • 如果链接不存在,如何跳过测试用例并转到机器人框架中的下一个链接

    设想 主页有5个链接 链接1 链接2 链接3 链接4 链接5 上面每个环节都是单独的测试用例 所以一共有5个测试用例 根据要求 所有链接可能不会出现在所有站点中 所以我需要写一个机器人框架对所有站点动态工作的测试用例 例如 1 个站点可能有
  • 如何在java中使用JSlider增加/减少图像的亮度?

    我正在使用java swing技术在netbeans平台上制作应用程序 我想对捕获的图像进行图像处理 该图像是由X射线枪捕获的 之后我想使用JSlider增加 减少图像的亮度 我使用paintComponent完成此操作 图g 法 但我想在
  • 可以在我们的活动中查看 Log.i 的 logcat 结果吗?

    我想在我的应用程序中显示 Log i 结果 是否可以 如果是这样 我该怎么办 这是一个blogpost这正是您需要它做的事情 它有一个关于如何显示 Logcat 日志内容的完整代码示例 这是代码 import java io Buffere
  • 当前会话的 IDENT_CURRENT 等效值

    我需要严格获取当前会话的特定表中最后插入的行 我不能使用 IDENTITY and SCOPE IDENTITY 因为它们将返回任何表的最后插入的标识 问题在于IDENT CURRENT是它将返回特定表但任何会话的记录的最后插入标识 这对我
  • 动态链接服务器查询

    是否可以为链接服务器构造动态查询 如果可以 如何构造 例如 linkedServer varchar 50 var1 varchar 10 var2 varchar 10 select from openquery linkedServer
  • 如果 python 中的列之间存在任何 NaN 值,如何处理脚本

    我正在尝试处理一个脚本 我正在尝试查找列之间的月份 该脚本工作正常 但每当任何字段为空时 它就会出错 如果任何 NaN 值介于两者之间 则它必须跳过并移动到下一行 如何解决该错误 输入数据 Month1 Month2 Month list
  • 如何获取 UITabBarController 中超过 5 个项目的选定 UITabBarItem 的标签?

    在我创建的故事板中UITabBarController与另一个视图控制器有 6 个关系 所以现在我有6个UITabBarItems 我将它们标记为0 to 5 这就是为什么我检测到什么UITabBarItem由用户选择 NOTE 我无法使用
  • Spring Security 3.1.4 taglib 授权/身份验证不适用于 Tomcat 7 上的 JSF 2.2 中的角色层次结构

    对于通过 http 命名空间定义为拦截 URL 的 Web 安全表达式 会考虑角色层次结构 但在使用 JSP 授权标签库的表达式中则不会 我已经读了很多东西了 ref1 ref2 ref3 ref4 ref5 ref6 编辑 Ref1 和
  • 为什么 DBContext 放入 IMemoryCache 后会被释放(.NET Core / EF Core)

    我试图将 db data 的子集放入 IMemoryCache 中 但第二次调用该应用程序时 出现错误 ObjectDisposeException 无法访问已处置的对象 导致此错误的一个常见原因是处置从依赖项注入解析的上下文 然后尝试在应
  • 目录 api 的 gsuite 服务帐户返回 http 400 错误:请求错误/输入无效

    我已经开始开发一些 api 来在我的 G suite 目录中创建用户 我跟着服务帐户教程随着目录教程对于蟒蛇 我的代码非常简单 只是为了测试它如何工作 from google oauth2 import service account fr
  • 有没有办法在链接时设置 elf NEEDED 字段?

    给定一个可执行文件 gt objdump x someprog grep c NEEDED libstdc so 6 我想将要求更改为完整版本 包括次要版本和补丁级别 gt objdump x someprog grep c NEEDED
  • 根据半径计算从正方形中心到边缘的矢量

    给定一个正方形 由 x y 宽度 高度描述 和一个角度 以弧度为单位 我需要计算一个向量 该向量源自正方形中心并终止于以给定角度与正方形边缘碰撞的点 我真的对它的碰撞点最感兴趣 所以如果这会使计算更有效 请告诉我 这可以推广到矩形吗 一般而
  • 函数中的动态选择表达式[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个函数来转换此数据框 library dplyr library rlang library purrr df lt data frame obj c 1 1 2 2 3 3 3 4 4 4 S1
  • 更改 IE 中禁用的文本框的字体颜色

    我注意到您可以更改文本框中文本的颜色 这些颜色在 Firefox 中应用一个简单的类被禁用 但在 IE 6 7 中无法找到方法 有没有人有一个优雅的解决方案来实现这一目标 我注意到您可以更改在 Firefox 中禁用的文本框中文本的颜色 我
  • 如何选择带有CUDA的GPU?

    我有一台带有 2 个 GPU 的计算机 我编写了一个 CUDA C 程序 我需要以某种方式告诉它我只想在 2 个显卡中的 1 个上运行它 我需要输入什么命令以及如何使用它 我相信这与cudaSetDevice但我真的不知道如何使用它 应该很
  • 使用 AngularJS 的全局 Ajax 错误处理程序

    当我的网站 100 jQuery 时 我曾经这样做 ajaxSetup global true error function xhr status err if xhr status 401 window location index ht
  • Unix 如何阻止 unix/linux `wall` 消息传递?

    如何阻止unix linuxwall消息传递 Example SSH somemachine WALL annoy the s out of people on machine 期望的目标 拒绝拥有机器上的墙 mesg n 从手册页 DES
  • 从网站获取 IIS 站点 ID

    我在 asp net c 中制作了一个用户控件 由于我需要检索一些数据 我想获取 iis 中用于该站点的站点 ID 这可能吗 如果可能的话 如何实现 Thanks 这将为您提供站点 ID Request ServerVariables IN
  • 创建静态 Mac OS X C 版本

    如何在 Mac OS X 上创建 c 文件的静态构建 当我尝试时 gcc o test Main c static I get ld library not found for lcrt0 o collect2 ld returned 1