Связь динамической библиотеки и версии ffmpeg x86_64 - PullRequest
1 голос
/ 22 ноября 2011

Я работаю с FFMPEG на Mac OSX, у меня версия Mac 10.6.8 (i386).

Когда я пытаюсь скомпилировать код C ++, связывающий динамическую библиотеку:

g++ sdk.cpp -rpath /usr/local/lib/libinsight.dylib -o sdk

Я получаю следующую ошибку:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
    start in crt1.10.6.o
  "av_open_input_file(AVFormatContext**, char const*, AVInputFormat*, int,  AVFormatParameters*)", referenced from:
    ffmpeg_open(AVFormatContext**, char const*, int*)in ccCkx9dd.o

  (so forth fo every FFMPEG call)

  ld: symbol(s) not found for architecture x86_64
  collect2: ld returned 1 exit status

Без связывания dylib у меня нет проблем. В чем дело?

P.S. Версия ffmpeg - 64-разрядный исполняемый файл Mach-O x86_64

1 Ответ

0 голосов
/ 24 ноября 2011

g++ sdk.cpp -rpath /usr/local/lib/libinsight.dylib -o sdk

Разве вы не должны ссылаться на libffmpeg где-нибудь? Попробуйте добавить -lffmpeg в командную строку ссылки.

...