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

克里斯多夫

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

克里斯多夫

makefile.osxFreeImage的3.1.5.4已经过时了OS X版本> 10.6。请参阅本文的底部以获取修改后的版本。除了解决FreeImage问题跟踪器中描述的问题之外,您还需要在以下行添加一行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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows 10上安装mac OS X ElCapitan

来自分类Dev

如何在Mac OS X上编译librtmp

来自分类Dev

如何在Mac OS X Yosemite上导入RSA密钥?

来自分类Dev

如何在Ubuntu 12.04上虚拟运行Mac OS X

来自分类Dev

如何在Mac OS X上安装Python libpcap模块

来自分类Dev

如何在Mac OS X Mavericks上降级Perl

来自分类Dev

如何在Mac OS X Mavericks上安装OpenERP?

来自分类Dev

如何在Ubuntu 12.04上虚拟运行Mac OS X

来自分类Dev

如何在Mac OS X上设置反向Telnet

来自分类Dev

如何在Mac OS X上使用Windows键盘?

来自分类Dev

如何在Mac OS X上重置$ PATH变量?

来自分类Dev

如何在Mac OS X上卸载和删除.kext?

来自分类Dev

如何在Mac OS X上恢复RAR文件的密码?

来自分类Dev

如何在Mac OS X Mountain Lion上安装KeePass

来自分类Dev

如何在Mac OS X Yosemite上更新bash

来自分类Dev

如何在Mac OS X(Snow Leopard)上卸载MySQL?

来自分类Dev

如何在Mac OS X上停止红宝石

来自分类Dev

如何在Mac OS X Mavericks上降级Perl

来自分类Dev

如何在Mac OS X上创建补丁文件

来自分类Dev

如何在Mac OS X Mavericks上安装OpenERP?

来自分类Dev

如何在Mac OS X Mavericks上安装Unicorn

来自分类Dev

如何在Mac OS X上获得窗口拖放功能?

来自分类Dev

如何在Mac OS X上正确更新Python

来自分类Dev

如何在Mac OS X Yosemite上导入RSA密钥?

来自分类Dev

如何在Mac os X上安装VMware Player?

来自分类Dev

如何在Mac OS X上的文件中键入文本?

来自分类Dev

如何在Mac OS X Sierra上删除多余的python

来自分类Dev

如何在 mac os x mojave 上安装 XMP Toolkit

来自分类Dev

如何在Mac OS X Terminal上使用make编译C程序