При попытке построить FreeImage 3.1.5.4 на Mac OS X 10.8 с make make
происходит ошибка g++-4.0: No such file or directory
. Что-то не так с make-файлом относительно конфигурации компилятора. Как это исправить?Как скомпилировать FreeImage на Mac OS X 10.8?
3
A
ответ
6
makefile.osx
of FreeImage 3.1.5.4 устарел для версий OS X> 10.6. См. Нижнюю часть этого сообщения для модифицированной версии. В дополнение к решению вопроса описано в FreeImage issue tracker вам необходимо добавить строку в Source/OpenEXR/IlmImf/ImfAutoArray.h
:
#include <cstring>
Makefile для OS X 10.8:
# -*- 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 [email protected] $(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 [email protected] $(MODULES_X86_64)
.c.o-x86_64:
$(CC_X86_64) $(CFLAGS_X86_64) -c $< -o [email protected]
.cpp.o-x86_64:
$(CPP_X86_64) $(CPPFLAGS_X86_64) -c $< -o [email protected]
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
1
В дополнение к ответу на Кристофа:
GCC 4.2
, который упоминается в ответе, в значительной степени устарел и FreeImage
компилируется с использованием Clang
довольно хорошо. Поэтому я бы рекомендовал переключиться на инструментальную цепочку Clang
.
Смежные вопросы
- 1. Установка GraphicsMagick на Mac OS X 10.8
- 2. Ссылка в mac os x (10.8)
- 3. MAC os x 10.8+ код сертификата подписи
- 4. Строительство OpenCV Mac OS X 10.8 (статический)
- 5. MySQL ODBC в Mac OS X 10.8
- 6. Как скомпилировать для Mac OS X 10.5
- 7. Как скомпилировать PS3 для Mac OS X?
- 8. Проблемы с настройкой hadoop на mac os x 10.8
- 9. Настройки всех пользователей на MAC OS X 10.8
- 10. Сделать DUMB Fails на Mac OS X 10.8
- 11. AFNetworking 2,0 "_NSURLSessionTransferSizeUnknown" связь Ошибка на Mac OS X 10.8
- 12. Где находится svn на Mac OS X 10.8?
- 13. Как скомпилировать расширения python для Mac OS X 10.5 на Mac OS X 10.6?
- 14. Python на Mac OS X
- 15. Mac OS X 10.8 Уведомление о предупреждении NSUserNotification не отклоняется
- 16. Как скомпилировать библиотеку rabbitmq-c на Mac OS X?
- 17. Nasm на Mac OS X - как скомпилировать и прочитать отладку
- 18. Как скомпилировать универсальные библиотеки на Mac OS X?
- 19. Как скомпилировать Open CL на Mac OS X 10.6.3?
- 20. Python не может импортировать shadoworflow в Mac OS X 10.8
- 21. установить MySQL-питон на OS X 10.8
- 22. Невозможно установить CMake для Mac OS X 10.8
- 23. Mac OS X 10.8 и llvm/clang 3.3 через homebrew
- 24. OpenNI Mac OS X 10.8 Kinect time out
- 25. Пытается скомпилировать приложение на базе Linux на Mac OS X
- 26. Метод не вызывается в Mac OS X 10.8 Mountain Lion
- 27. Мой файл hosts под Mac OS X 10.8 пуст
- 28. Как установить libuuid на Mac OS X?
- 29. Профилирование OpenCL на Mac OS X
- 30. Где находится каталог установки Java EE на OS X 10.8?
Вы правы! Но я думаю, что это было бы лучше, чем комментарий. – Christoph