OSX 上的预编译标头和编译通用对象

2023-11-25

我们在项目中使用 GCC 预编译头文件,并像这样构建它们:

gcc $(CFLAGS) precompiledcommonlib.h

现在我正在 OSX 10.6 上构建项目,并尝试使用同时构建所有架构的漂亮功能,如下所示:

gcc $(CFLAGS) -c -arch i386 -arch x86_64 commonlib.c  

但是,这似乎不适用于预编译头:

gcc $(CFLAGS) -arch i386 -arch x86_64 precompiledcommonlib.h
Undefined symbols for architecture i386:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/z1/z1A0sPkqGDyPrZWo9ysVK++++TI/-Tmp-//cc3W2gwd.out (No such file or directory)

编辑: 正如 Mark 指出的,根据 XCode,预编译头必须为每个体系结构单独构建,所以我的问题是,是否有任何方法可以让 gcc 在构建通用对象时使用正确的预编译头。

我确实意识到我可以像 XCode 那样完全独立地构建每个架构,但我更愿意利用同时构建它们的可能性,而不必搞乱不同的构建配置。


你的问题不是架构。两者都失败了

问题是您正在尝试构建一个没有 main 函数的可执行文件。

由于文件名是 commonlib.c,我怀疑您想要构建一个库,如果这样的话,请在 XCode 中使用库模板启动项目。

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

OSX 上的预编译标头和编译通用对象 的相关文章

  • 为什么 struct tm 中的 tm_year 成员相对于 1900 而不是 macOS 上 C 中的 1970?

    当我遇到这个问题时 我正在尝试专家 C 编程中的示例 我的程序基本上做一件事 使用标准gmtime运行一下 看看自 1970 年以来已经过去了多少年 这是我的程序 include
  • ELF动态符号表

    我有一个关于 ELF 动态符号表的问题 对于 FUNC 类型的符号 我注意到某些二进制文件中的值为 0 但在其他二进制文件中 它具有一些非零值 这两个二进制文件都是由 gcc 生成的 我想知道为什么会出现这种差异 有没有编译器选项来控制这个
  • 在 MacOS 终端上运行 ffmpeg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 MacOS 相当陌生 我发现使用终端来获取信息并不容易ffmpeg和我在 Window 上一样正常运行 我有 ffmpeg 二进制文件ffmpe
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • 无法连接到 macOS 上的 Docker 守护进程

    我通常更喜欢使用brew 来管理我的OSX 上的应用程序 我能够安装 docker docker compose 和 docker machine docker version Docker version 17 05 0 ce build
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • 避免 gcc 函数序言开销?

    我最近遇到了很多 gcc 在 x86 上生成非常糟糕的代码的函数 它们都符合以下模式 if some condition do something really simple and return else something comple
  • GCC 5 及更高版本中的 AVX2 支持

    我编写了以下类 T 来加速操作 使用 AVX2 的 字符集 然后我发现它不起作用 gcc 5 及更高版本当我使用 O3 时 谁能帮我追踪到一些编程结构 已知不适用于最新的编译器 系统 该代码的工作原理 底层结构 bits 是一个 256 字
  • movzbl(%rdi, %rcx, 1), %ecx 在 x86-64 汇编中意味着什么?

    我想我明白 movzbl rdi rcx 1 ecx 意思是 将零扩展字节移至长整型 并表示将 ecx 扩展为 32 位 但我不完全确定语法 rdi rcx 1 指的是什么 我在某处看到该语法指的是 Base Index Scale 但我找
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • Clang 3.2 构建在构建 gcc 4.7 后损坏

    所以我知道 Clang 大多数时候 依赖于 Gnu 的 libstdc 3 但是在构建 gcc 4 7 0 因为太棒了 之后 我似乎遇到了问题 clang 的所有路径都是错误的 我是否需要清理我的构建目录并从头开始使用 clang 特别是它
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于

随机推荐

  • C++ 读写同一类的多个对象

    airport air 1 2 3 an airport constructor ofstream myfile myfile open rishab ios app ios binary myfile write char air siz
  • jQuery tablesorter + 调整列宽

    有没有jQuery用于调整与表排序器一起使用的表列大小的插件 看起来像柔性网格有你可能想要的一切
  • 我可以在实体框架中访问 IDbCommandInterceptor 中的实体吗

    实现 IDbCommandInterceptor 时 我可以访问为命令 查询创建的 SQL 命令 是否还可以访问在实现的方法中持久 检索的实际实体对象 这是一些幻想代码来演示我想做的事情 public class WidgetInterce
  • Google 表格支持哪些数据类型?

    我无法在网上或在表格文档中找到答案 Google 表格中的单个单元格支持哪些数据类型 例如 这是我到目前为止所看到的 是否有 Google 表格接受的可接受数据类型列表 和你一样 我无法找到明确的数据类型列表 不过 通过个人经验和测试 我验
  • JComponent.isShowing() 和 isDisplayable() 之间的区别

    有什么区别Component isShowing and Component isDisplayable 我想用它们来决定是否应该停止 启动计时器 一个组件 isShowing when 确定该组件是否显示在屏幕上 这意味着 该组件必须是可
  • 将 git 文件保存在另一个文件夹中

    如何设置 git 来跟踪文件夹中的文件 a 但存储 git文件夹中的文件夹 b 另外 为了更进一步 我可以保留 git另一台服务器上的文件夹并运行git来自服务器的命令a去检查git st例如 在服务器上b 基本上 我希望能够在某个文件夹上
  • 检查点射线调谐试验的最佳模型

    所以我刚刚跑了一个tune实验并得到以下输出 Trial name status loc lr weight decay loss accuracy trainable 13720f86 TERMINATED
  • 手动添加迁移?

    我首先在项目中使用实体框架代码 并且所有表都已在不久前创建 修改 现在我需要向表添加唯一约束 我想创建一个迁移 其中将包含以下行Up 方法 并且有模型类没有变化 CreateIndex TableName new Column1 true
  • 在 Spring Boot 中将属性放在 application.yml 或 bootstrap.yml 上有什么区别?

    在 Spring Boot 中将属性放在 application yml 或 bootstrap yml 上有什么区别 在logging config 情况下 应用程序的工作方式有所不同 我刚刚问过Spring Cloud伙计们 我认为我应
  • 在 SignalR 中 Hub.Context 线程安全吗?

    如果不同客户端同时发生多个请求 则 Hub Context ConnectionId 的值会在处理程序执行期间发生变化 假设我有 2 个客户端与客户端 ID A 和 B 连接 并且我的 Hub 上有一个名为 foo 的方法 我从 A 向服务
  • 将 CSV 文件转换为 XLSX 并提供两种格式供用户导出的最佳方法

    我实现了一个 CSV 导出器 其工作原理如下 用户触发 CSV 导出 应用程序创建一个新的后台作业 作业生成 CSV 使用CSV generate 作业使用回形针将文件保存在 Amazon S3 上 使用以下命令分配文件 StringIO
  • 相当于 PowerShell 中的 *Nix 'which' 命令?

    如何询问 PowerShell 某物在哪里 例如 which notepad 它会根据当前路径返回运行 notepad exe 的目录 当我开始在 PowerShell 中自定义我的个人资料时 我创建的第一个别名是 which New Al
  • 如何禁用/隐藏 woocommerce 单品页面?

    我试图隐藏我的 wordpress woocommerce 网站上的单个产品详细信息页面 我怎样才能在不破坏 woocommerce 功能的情况下实现这一目标 您可以删除商店页面上生成的锚点 该锚点永远不会将用户重定向到单个页面 为此 您必
  • Android有类似Table的ListView适配器吗

    我正在使用 ListView 来显示项目列表 这些项目采用包含列和行的表格格式 是否有类似适配器的表格来确保所有列和行对齐 我知道这会带来每列应该有多大 如何处理截断文本以及其他问题的复杂性 我只是好奇当前是否有适配器隐藏在某个地方来完成此
  • 如何阻止 PHP 输出缓冲吃掉错误消息?

    好吧 现在我已经深入了解了一点 我意识到这是一个愚蠢的问题 而且是错误的 事实证明 我维护的遗留代码的作者使用以下命令将错误日志劫持到另一个文件中 php init陈述 劫持发生在输出缓冲打开的同时 使得appear好像输出缓冲正在丢弃我的
  • 在Pycharm(Mac)上安装tensorflow

    I was trying to use tensorflow in Pycharm IDE 看来在Pycharm中 是一键安装包的 坎坷不平 这很容易 现在当我尝试安装tensorflow时出现错误 Tensorflow是通过Mac上的终端
  • 所有像素的高效像素着色器总和

    如何使用 HSLS 像素着色器有效计算图像中所有像素的总和 我对 Pixel Shader 2 0 感兴趣 我可以将其作为 WPF 着色器效果进行调用 有一个更简单的解决方案 不使用着色器 将图像加载为纹理 创建 mipmap 链并读回最后
  • 如何通过 HTTP 访问 ejabberd admin api?

    我读到了有关该文档的内容https docs ejabberd im admin api 我想知道如何通过 HTTP 访问这些 API 我尝试访问 但总是404 在你的 ejabberd yml 中你可以找到这样的配置 port 5280
  • 在 Postgres 触发函数中异常调用之前执行操作

    这里是 Postgres 8 4 想象此代码片段来自 Postgres 文档 CREATE FUNCTION emp stamp RETURNS trigger AS emp stamp BEGIN Check that empname a
  • OSX 上的预编译标头和编译通用对象

    我们在项目中使用 GCC 预编译头文件 并像这样构建它们 gcc CFLAGS precompiledcommonlib h 现在我正在 OSX 10 6 上构建项目 并尝试使用同时构建所有架构的漂亮功能 如下所示 gcc CFLAGS c