我在网上下载了libFLAC的静态库,然后在VC6用写了个调用的程序,用于解码FLAC文件,在编译时一直提示
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_process_until_end_of_metadata
playback.obj : error LNK2001: unresolved external symbol _FLAC_plugin__show_error
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__StreamDecoderInitStatusString
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_get_resolved_state_string
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_init_file
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_metadata_respond
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_metadata_ignore_all
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_md5_checking
我在库引用中也已经添加了libFLAC.lib后来我用UEdit打开了libFLAC.lib,仔细检查后发现库里面的接口函数都是_FLAC__stream_decoder_process_until_end_of_metadata之类的,而在我写的程序里引用时就变成了__imp__FLAC__stream_decoder_process_until_end_of_metadata,前面就多了个__imp,这是怎么回事呢??
应该如何解决???急~~在线等~~~
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_process_until_end_of_metadata
playback.obj : error LNK2001: unresolved external symbol _FLAC_plugin__show_error
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__StreamDecoderInitStatusString
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_get_resolved_state_string
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_init_file
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_metadata_respond
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_metadata_ignore_all
playback.obj : error LNK2001: unresolved external symbol __imp__FLAC__stream_decoder_set_md5_checking
我在库引用中也已经添加了libFLAC.lib后来我用UEdit打开了libFLAC.lib,仔细检查后发现库里面的接口函数都是_FLAC__stream_decoder_process_until_end_of_metadata之类的,而在我写的程序里引用时就变成了__imp__FLAC__stream_decoder_process_until_end_of_metadata,前面就多了个__imp,这是怎么回事呢??
应该如何解决???急~~在线等~~~
原来是头文件里的宏定义出问题了,头里的#if条件没有效果,导致输入接口函数定义成_declspec(dllexport)动态库类型的了,所以在静态库里自然找不到接口!也谢谢各位啦~~