Я скомпилировал libFLAC из исходного кода под Macintosh OS X 10.6.8 и успешно проверил преобразование WAV в FLAC (из командной строки). Я также использовал сборку по умолчанию следующим образом: ./configure —prefix = «$ base / flac / more /» —exec-prefix = «$ base / flac / main /» —disable-asm-optimizations && делать && сделать установку
Теперь после добавления путей для заголовков FLAC и библиотек в совершенно новый проект. Я пытаюсь декодировать и загружать звук FLAC в системную память, используя libFLAC, в соответствии с примером кода, который был связан с libFLAC. Однако я получаю symbols not found
ошибки со стандартным C и vtable symbols not found
ошибки со стандартным подходом C ++ (как показано ниже).
Errors under the C approach:
«FLAC_stream_decoder_get_state «, на который ссылаются из:
_main in main.o
«FLAC_stream_decoder_new «, ссылка с которого:
_main in main.o
«FLAC_StreamDecoderStateString «, на который ссылаются из:
_main in main.o
«FLAC_StreamDecoderErrorStatusString «, на который ссылаются из:
error_callback(FLAC__StreamDecoder const*,
FLAC__StreamDecoderErrorStatus, void *) в main.o
«FLAC_stream_decoder_init_file «, на который ссылаются из:
_main in main.o
«FLAC_StreamDecoderInitStatusString «, на который ссылаются из:
_main in main.o
«FLAC_stream_decoder_set_md5_checking «, ссылка из:
_main in main.o
«FLAC_stream_decoder_process_until_end_of_stream «, на который ссылаются из:
_main in main.o
«FLAC_stream_decoder_delete «, ссылка из:
_main in main.o
ld: символ (ы) не найден
collect2: ld вернул 1 статус выхода
Из того, что я могу понять, либо: компоновщик не видит libs (потому что он видит заголовки), либо libFLAC не был скомпилирован правильно. Я буду благодарен, если кто-нибудь укажет мне на возможные решения, учитывая эти ошибки.
Я делал ссылки неправильно. Связывание должно быть сделано в соответствии с этим сообщением Adding static library inside Xcode C++ project
(Как добавить статические библиотеки в проект C ++ с Xcode) но я добавлял каталог ссылок под Project Setting
где я добавлял путь к заголовкам, поэтому он не работал.
Других решений пока нет …