如何在 Mac OS X 10.8 上编译 FreeImage?

2024-02-14

尝试使用 make 在 Mac OS X 10.8 上构建 FreeImage 3.1.5.4 时make出现以下错误g++-4.0: No such file or directory发生。有关编译器配置的 makefile 有问题。如何解决这个问题?


The makefile.osx对于 OS X 版本 > 10.6,FreeImage 3.1.5.4 已过时。请参阅本文底部的修改版本。除了解决中描述的问题之外FreeImage 问题跟踪器 http://sourceforge.net/p/freeimage/patches/80/你需要添加一行Source/OpenEXR/IlmImf/ImfAutoArray.h:

#include <cstring>

OS X 10.8 的 Makefile:

# -*- Makefile -*-
# Mac OSX makefile for FreeImage

# This file can be generated by ./gensrclist.sh
include Makefile.srcs

# General configuration variables:
CC_X86_64 = gcc -4.2
CPP_X86_64 = g++ -4.2
COMPILERFLAGS = -Os -fexceptions -fvisibility=hidden -DNO_LCMS
COMPILERFLAGS_X86_64 = -arch x86_64
COMPILERPPFLAGS = -Wno-ctor-dtor-privacy
INCLUDE += 
INCLUDE_X86_64 = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
CFLAGS_X86_64 = $(COMPILERFLAGS) $(COMPILERFLAGS_X86_64) $(INCLUDE) $(INCLUDE_X86_64)
CPPFLAGS_X86_64 = $(COMPILERPPFLAGS) $(CFLAGS_X86_64)
LIBRARIES_X86_64 = -Wl,-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
LIBTOOL = libtool
LIPO = lipo

TARGET = freeimage
STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dylib
LIBNAME = lib$(TARGET).$(VER_MAJOR).dylib
HEADER = Source/FreeImage.h

.SUFFIXES: .o-x86_64
MODULES_X86_64 = $(SRCS:.c=.o-x86_64)
MODULES_X86_64 := $(MODULES_X86_64:.cpp=.o-x86_64)

PREFIX = /usr/local
INSTALLDIR = $(PREFIX)/lib
INCDIR = $(PREFIX)/include

default: all

all: dist

dist: FreeImage
    cp *.a Dist
    cp *.dylib Dist
    cp Source/FreeImage.h Dist

FreeImage: $(STATICLIB) $(SHAREDLIB)

$(STATICLIB): $(STATICLIB)-x86_64
    $(LIPO) -create $(STATICLIB)-x86_64 -output $(STATICLIB)

$(STATICLIB)-x86_64: $(MODULES_X86_64)
    $(LIBTOOL) -arch_only x86_64 -o $@ $(MODULES_X86_64)

$(SHAREDLIB): $(SHAREDLIB)-x86_64
    $(LIPO) -create $(SHAREDLIB)-x86_64 -output $(SHAREDLIB)

$(SHAREDLIB)-x86_64: $(MODULES_X86_64)
    $(CPP_X86_64) -arch x86_64 -dynamiclib $(LIBRARIES_X86_64) -o $@ $(MODULES_X86_64)

.c.o-x86_64:
    $(CC_X86_64) $(CFLAGS_X86_64) -c $< -o $@

.cpp.o-x86_64:
    $(CPP_X86_64) $(CPPFLAGS_X86_64) -c $< -o $@

install:
    install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)
    install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
    install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
    ranlib -sf $(INSTALLDIR)/$(STATICLIB)
    ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)

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

如何在 Mac OS X 10.8 上编译 FreeImage? 的相关文章

  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 使用系统 python osx 进行 pip

    我使用 macports 安装了 python26 所以我的系统上正确的 python 是 opt local bin python 然而 当我这样做时 sudo pip install
  • Qt 编译器标志顺序

    我的目标是消除某些类型的编译器警告 我发现可以通过在 pro 文件中添加编译器标志来做到这一点 QMAKE CXXFLAGS Wno unused variable Wno reorder 问题是它们被添加在 Qt 构建系统生成的标志之前
  • 从沙箱中的帮助应用程序读取 NSUserDefaults

    我找到了一些阅读资源NSUserDefaults另一个应用程序的 Objective C NSUserDefaults 缓存会阻止其他应用程序准确读取更改 https stackoverflow com questions 10667848
  • 如何使用 Objective-C 加载 dylib 或 .a(静态库)文件?

    C 代码 Windows Assembly assembly Assembly LoadFrom AssemblyPath System Type objTypes assembly GetTypes Type libType null 我
  • 在 OSX 上,Java 线程在不关注时会进入睡眠状态

    我正在编写一个程序来监听系统剪贴板的更改 侦听器在单独的线程上运行 并在剪贴板的内容更改时执行某些操作 例如写入文件 我正在使用轮询剪贴板剪贴板所有者界面 http www javapractices com topic TopicActi
  • 如何设置 NSButton OSX 的背景颜色

    我想设置 NSButton 的背景颜色 属性检查器中没有任何内容 所以我想知道是否有任何方法可以以编程方式完成此操作 系统控件需要遵循 Apple 的外观和感觉 因此您无法轻松更改背景颜色 如果你想完成这个 你需要子类化 NSButton
  • 如何在全屏视图前面显示 NSPanel?

    我的应用程序以全屏方式运行 我需要类似 iOS 的 UIPopoverController 之类的东西 第一个想法是使用 NSPanel 但我无法让它显示在全屏视图前 我需要一个类似 UIPopoverController 的 Cocoa
  • C++20 中模板对非类型文字参数的部分特化:clang 和 gcc 不一致

    玩弄文字 非类型模板参数 https ctrpeach io posts cpp20 string literal template parameters 在c 20中 我发现g 和clang 不同意以下代码 include
  • 拖动调整 NSView(或其他对象)的大小

    我正在尝试构建一个应用程序 允许用户使用可以调整大小的矩形边界框来指定图像的多个区域 到目前为止 我已经有一个NSScrollView其中包含一个NSImageView这样用户就可以放大图像并根据需要滚动 我目前的想法是我可以使用NSVie
  • 运行最新版本时没有“最新”消息?

    我正在尝试使用Sparkle https sparkle project org与 Qt Go 的绑定 https github com therecipe qt app 闪光 m import
  • 左右 mac“命令”键的配置不同吗?

    我想知道是否可以将右侧的 mac 命令 设置为像 ctrl 键一样 但保留左侧 命令 键的默认功能 谢谢 有一个非常棒的应用程序 称为 Ukelele 免费 不幸的是 它无法区分左右命令键 然而 我最近发现了一个更好的应用程序 名为 Con
  • OSX 上的 Java 7 使用 jnlp/webstart 时出现文件名编码问题

    我遇到了这个问题 经过几天的搜索和解决方法尝试均未成功 我现在有一个由 jnlp webstart 分发的内部 java swing 程序 在 osx 和 windows 计算机上 除其他外 它还从 WebDav 下载一些文件 最近 在装有
  • 哪些 GCC 优化标志对二进制大小影响最大?

    我正在使用 GCC 为 ARM 开发 C 我遇到了一个问题 我没有启用优化 我无法创建二进制文件 ELF https en wikipedia org wiki Executable and Linkable Format 对于我的代码 因
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 如何构建gcc multilib工具链?

    我正在尝试在新安装的 ubuntu 14 04 的 AMD64 版本上构建 gcc multilib 工具链 它只有 x86 64 gcc 和 g 安装 没有 multilib 支持 我的配置行是 configure disable che
  • localhost 拒绝在 chrome mac 中连接

    我正在使用 webpack dev server 使用此命令运行服务器 npm run dev 当我使用npm start 它工作得很好 但不想这样做 因为它是为了生产 到目前为止我的服务器运行良好http 本地主机 3000 http l
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太

随机推荐

  • mongodb 中的集合扫描是什么?

    我知道什么是 完整集合扫描 但我有点不确定术语 集合扫描 是否适用于使用 B 树游标的查询 使用基本游标以外的游标的查询是否执行集合扫描 简而言之 这两个术语是相同的 或者更确切地说 只有 完整集合扫描 如果您的查询使用 B 树游标 则根据
  • Google Docs iFrame:如何自定义嵌入式 Google Docs iFrame 的 css

    我有一个显示 google 文档文档的 iframe 代码 div class col xs 12 no h padding style margin 0 auto width 90 div The iFrame works great a
  • 在 Docker 中使用 OpenCV (Python) 访问网络摄像头?

    我正在尝试将 Docker 用于我们的一个项目 该项目使用 OpenCV 来处理网络摄像头源 Python 但我似乎无法访问 docker 中的网络摄像头 这是我用来测试网络摄像头访问的代码 python c import cv2 prin
  • 画布在 OS X 上的 Chrome 49 上消失,看起来像一个错误

    Edit Chrome 刚刚更新到 49 0 2623 108 问题已经消失 我遇到了一些奇怪的行为 并将其范围缩小到 OS X El Capitan 上的 Chrome 49 0 2623 87 64 位 当焦点被输入字段从其他地方返回到
  • greenDAO 40秒插入600条记录

    我选择 greenDAO 是因为它的网站声明它是 Android 上最快的 ORM 系统之一 令我失望的是 在三星 i9001 上插入 600 条记录大约需要 40 秒 我不确定我是否做错了什么 您能提出什么建议来减少执行这些操作所需的时间
  • 在 Java 中复制文件并替换现有目标

    我正在尝试使用 java nio file Files 复制文件 如下所示 Files copy cfgFilePath strTarget StandardCopyOption REPLACE EXISTING 问题是 Eclipse 说
  • 使用 Gatsby 将 Rich-Text 组件中的 Markdown 转换为 HTML

    我正在使用 Contentful 的富文本字段类型来构建页面 我拥有的 Embedded Blocks 之一是用于我用来构建表格的 Markdown 字段类型 Markdown 字段类型 Title Title Cell Cell 我可以检
  • 使用聚合物 2 刺穿 Shadow dom 进行自动化测试(/deep/ 已弃用)

    目前 我的组织正在使用带有 Selenium Protractor 和 Mocha 的 Polymer 1 并且我们使用 shady dom 对于验收测试 我们使用 deep 组合器刺穿DOM 与聚合物2 deep 组合器已被弃用 我的问题
  • 在 PHP 中对对象进行排序 [重复]

    这个问题在这里已经有答案了 在 PHP 中对对象进行排序的优雅方法是什么 我很想完成类似的事情 sortedObjectArary sort unsortedObjectArray Object gt weight 基本上指定我想要排序的数
  • 如何判断通过 Gmail REST API 发送的电子邮件是否被退回?

    我正在通过 Gmail API 发送电子邮件 并且想知道邮件何时退回 我怎样才能做到这一点 据我了解 退回的电子邮件通常包含某种指示退回的标头 例如 X Failed Recipients email protected cdn cgi l
  • Pickled Matplotlib 3D 缺乏交互功能

    在 Windows 上 当我使用 pickle 模块保存 3D matplotlib 曲面图并重新加载它们时 这些图缺乏任何交互功能 例如能够旋转图或放大图 但是 如果我保存并重新加载 2D pickled matplotlib 图 我仍然
  • Angular 5 动态更改 i18n 语言环境

    我正在尝试动态更改语言环境以更改 i18n 语言 我有两个文件 一个包含英语值 另一个包含法语值 我现在尝试过的是这样的 ngOnInit const localeName localStorage getItem locale fr im
  • 如何在 Clojure 中拆分数字?

    我正在寻找一种很好的方法来分割数字nClojure 中的数字我有以下两种方法 gt gt str 942 seq map str map read string gt 9 4 2 and defn digits n cons str mod
  • 无法在onCreate中创建相机预览?

    我在 Android 上预览相机时遇到一些问题 现在我有一个按钮 您需要按下才能预览相机 但我希望在启动应用程序后立即进行预览 如果我尝试将启动预览的部分从按钮中取出并将其放入 onCreate 中 它将无法工作 预览也不会启动 如何在用户
  • 按两个条件分割字符串 - 通配符

    我需要用一个字符加一个通配符来分割字符串 text1 CompanyA XYZ 257999 31 12 2000 text2 CompanyB XYZ 057999 31 12 2000 我想在位置 2 或 0 处分割该字符串 就在 XY
  • 如何用汇编语言查看EIP值? [复制]

    这个问题在这里已经有答案了 我想用汇编语言获取EIP寄存器的当前值 那可能吗 假设32位x86 使用以下函数 get eip mov eax esp ret 然后 要获取EAX中EIP的值 只需 call get eip
  • 如何将 git 凭据添加到构建中,以便能够在 shell 代码中使用它?

    我写了以下 Jenkinsfile node master def artifactory creds XXXXXXX def git creds XXXXXXX java docker image openjdk 8 jdk java p
  • Android中的自定义对象点击问题

    I have created an custom view in android to display ball on screen Now what I want is when I touch on that ball it shoul
  • 使用 API 将 ics 文件导入到 Google 日历

    是否有任何可能的解决方案可以使用他们的 API 将 ics 文件导入谷歌日历 我参考了很多博客 但找不到适合我需要的确切解决方案 我正在节点应用程序中工作并使用节点模块创建 ics 文件 请帮我找到解决方案 提前致谢 日历 API v3 不
  • 如何在 Mac OS X 10.8 上编译 FreeImage?

    尝试使用 make 在 Mac OS X 10 8 上构建 FreeImage 3 1 5 4 时make出现以下错误g 4 0 No such file or directory发生 有关编译器配置的 makefile 有问题 如何解决这