libFLAC symbols not found and vtable errors

空扰寡人 提交于 2019-12-11 15:59:17

问题


I have compiled libFLAC from source code under macintosh os x 10.6.8 and tested WAV to FLAC conversion with success (from the command line). I have also used the default build as such: ./configure --prefix="$base/flac/more/" --exec-prefix="$base/flac/main/" --disable-asm-optimizations && make && make install

Now after adding the paths for FLAC headers and the libs into a brand new project. I am attempting to decode and load FLAC audio into system memory using libFLAC, under the example code which was bundled with libFLAC. However i am getting symbols not found errors with Standard C and vtable symbols not found errors with the Standard C++ approach (as seen below).

Errors under the C approach:

"FLAC_stream_decoder_get_state", referenced from:

  _main in main.o

"FLAC_stream_decoder_new", referenced from:

  _main in main.o

"FLAC_StreamDecoderStateString", referenced from:

  _main in main.o

"FLAC_StreamDecoderErrorStatusString", referenced from:

  error_callback(FLAC__StreamDecoder const*, 

FLAC__StreamDecoderErrorStatus, void*)in main.o

"FLAC_stream_decoder_init_file", referenced from:

  _main in main.o

"FLAC_StreamDecoderInitStatusString", referenced from:

  _main in main.o

"FLAC_stream_decoder_set_md5_checking", referenced from:

  _main in main.o

"FLAC_stream_decoder_process_until_end_of_stream", referenced from:

  _main in main.o

"FLAC_stream_decoder_delete", referenced from:

  _main in main.o

ld: symbol(s) not found

collect2: ld returned 1 exit status

From what i can understand is either: the linker is not seeing the libs (because it is seeing the headers) or the libFLAC was not compiled correctly. I'll be thankful if anyone will point me to possible solutions given these errors.


回答1:


I was doing the linking incorrectly. Linking needs to be done according to this stackoverflow post Adding static library inside Xcode C++ project (How to add static libraries inside a C++ project with Xcode) but i was adding the linking directory under the Project Setting where i was adding my headers path, thus it was not working.



来源:https://stackoverflow.com/questions/20263199/libflac-symbols-not-found-and-vtable-errors

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!