У меня возникла проблема со связыванием скомпилированной программы (подробности см. В разделе github repo).Set include directory for linker (ld) на OSX
Конкретный раздел Makefile OSX здесь:
CFLAGS = -v -arch x86_64 -Wall -fPIC -O2 -I./include $(OPTS)
LDFLAGS = -v -arch x86_64 -lpthread /usr/local/lib/libportaudio.a -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon
EXECUTABLE ?= squeezelite-osx
include Makefile
компиляция отлично работает, но во время связывая это терпит неудачу с:
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.11.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -o squeezelite-osx main.o slimproto.o buffer.o stream.o utils.o output.o output_alsa.o output_pa.o output_stdout.o output_pack.o decode.o flac.o pcm.o mad.o vorbis.o faad.o mpg.o dsd.o dop.o dsd2pcm/dsd2pcm.o process.o resample.o -lpthread /usr/local/lib/libportaudio.a -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon -lFLAC -lmad -lvorbisfile -lfaad -lmpg123 -lsoxr -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/lib/darwin/libclang_rt.osx.a
ld: library not found for -lFLAC
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [squeezelite-osx] Error 1
библиотеке, не найден в папке /usr/local/include
и я думаю, что я должен добавить этот путь к пути включения компоновщика.
Как добавить путь /usr/local/include
к пути включения компоновщика?
Спасибо, что сработало красиво. Есть ли что-то подобное, которое я мог бы использовать для файла '' '/ usr/local/lib/libportaudio.a''', чтобы избежать указания пути туда? – Rainer
@Rainer После того, как вы указали его, оно применимо ко всем библиотекам (т. Е. Предоставляет дополнительное место для их поиска). Он должен найти этот файл, если вы добавите опцию '-lportaudio'. – trojanfoe
OK - заменен '' '/ usr/local/lib/libportaudio.a'''' '' '-lportaudio''' и компилируется. Большое спасибо. – Rainer