各位同位,小弟最近初用evc3.0进行开发,碰到一些问题:

kingcaiyao 2005-12-19 04:50:17
我将win32编译下的一些dll和lib加入到项目后,开始编译,我选择的编译环境是pocket pc(default device),arm debug/release,但有20个链接错误:
helloDlg.obj : error LNK2019: unresolved external symbol av_free referenced in function "protected: void __cdecl CHelloDlg::OnOpenfile(void)" (?OnOpenfile@CHelloDlg@@IAAXXZ)
decoder.obj : error LNK2001: unresolved external symbol av_free
encoder.obj : error LNK2001: unresolved external symbol av_free
helloDlg.obj : error LNK2019: unresolved external symbol av_malloc referenced in function "protected: void __cdecl CHelloDlg::OnOpenfile(void)" (?OnOpenfile@CHelloDlg@@IAAXXZ)
encoder.obj : error LNK2001: unresolved external symbol av_malloc
helloDlg.obj : error LNK2019: unresolved external symbol avpicture_fill referenced in function "public: bool __cdecl CAVCodec::initCoder(int,int,int,int,int,int,int,int,int,int,int)" (?initCoder@CAVCodec@@QAA_NHHHHHHHHHHH@Z)
encoder.obj : error LNK2001: unresolved external symbol avpicture_fill
helloDlg.obj : error LNK2019: unresolved external symbol img_resample_full_init referenced in function "public: bool __cdecl CAVCodec::initCoder(int,int,int,int,int,int,int,int,int,int,int)" (?initCoder@CAVCodec@@QAA_NHHHHHHHHHHH@Z)
helloDlg.obj : error LNK2019: unresolved external symbol pp_get_context referenced in function "public: void * __cdecl CAVCodec::pp_initpp(signed char *,struct PPMode &,int,int,int)" (?pp_initpp@CAVCodec@@QAAPAXPACAAUPPMode@@HHH@Z)
helloDlg.obj : error LNK2019: unresolved external symbol sws_close1 referenced in function "public: void __cdecl CAVCodec::releaseCoder(void)" (?releaseCoder@CAVCodec@@QAAXXZ)
helloDlg.obj : error LNK2019: unresolved external symbol sws_close referenced in function "public: void __cdecl CAVCodec::releaseCoder(void)" (?releaseCoder@CAVCodec@@QAAXXZ)
helloDlg.obj : error LNK2019: unresolved external symbol pp_free_context referenced in function "public: void __cdecl CAVCodec::releaseCoder(void)" (?releaseCoder@CAVCodec@@QAAXXZ)
helloDlg.obj : error LNK2019: unresolved external symbol img_resample_close referenced in function "public: void __cdecl CAVCodec::releaseCoder(void)" (?releaseCoder@CAVCodec@@QAAXXZ)
decoder.obj : error LNK2019: unresolved external symbol avcodec_find_decoder referenced in function "public: bool __cdecl Decoder::SelectDecoder(enum CodecID)" (?SelectDecoder@Decoder@@QAA_NW4CodecID@@@Z)
decoder.obj : error LNK2019: unresolved external symbol avcodec_open referenced in function "public: bool __cdecl Decoder::open_codec(void)" (?open_codec@Decoder@@QAA_NXZ)
encoder.obj : error LNK2001: unresolved external symbol avcodec_open
decoder.obj : error LNK2019: unresolved external symbol avcodec_alloc_frame referenced in function "public: void __cdecl Decoder::Settings(void)" (?Settings@Decoder@@QAAXXZ)
encoder.obj : error LNK2001: unresolved external symbol avcodec_alloc_frame
decoder.obj : error LNK2019: unresolved external symbol avcodec_alloc_context referenced in function "public: void __cdecl Decoder::Settings(void)" (?Settings@Decoder@@QAAXXZ)
encoder.obj : error LNK2001: unresolved external symbol avcodec_alloc_context
decoder.obj : error LNK2019: unresolved external symbol avcodec_decode_video referenced in function "public: int __cdecl Decoder::decode(int,unsigned char *,unsigned char * *,int *,int *,struct AVFrame *)" (?decode@Decoder@@QAAHHPAEPAPAEPAH2PAUAVFra
me@@@Z)
decoder.obj : error LNK2019: unresolved external symbol avcodec_close referenced in function "public: void __cdecl Decoder::end_all(void)" (?end_all@Decoder@@QAAXXZ)
encoder.obj : error LNK2019: unresolved external symbol avcodec_close referenced in function "public: bool __cdecl Encoder::open_codec(void)" (?open_codec@Encoder@@QAA_NXZ)
encoder.obj : error LNK2019: unresolved external symbol img_convert referenced in function "public: struct AVFrame * __cdecl Encoder::to_AVFrame(unsigned char *,int,int,int)" (?to_AVFrame@Encoder@@QAAPAUAVFrame@@PAEHHH@Z)
encoder.obj : error LNK2019: unresolved external symbol avcodec_register_all referenced in function "public: __cdecl Encoder::Encoder(void)" (??0Encoder@@QAA@XZ)
encoder.obj : error LNK2019: unresolved external symbol avcodec_init referenced in function "public: __cdecl Encoder::Encoder(void)" (??0Encoder@@QAA@XZ)
encoder.obj : error LNK2019: unresolved external symbol avcodec_find_encoder referenced in function "public: bool __cdecl Encoder::SelectEncoder(enum CodecID)" (?SelectEncoder@Encoder@@QAA_NW4CodecID@@@Z)
encoder.obj : error LNK2019: unresolved external symbol avcodec_encode_video referenced in function "public: int __cdecl Encoder::encode(unsigned char *,int,int,unsigned char * *,int *,int,int)" (?encode@Encoder@@QAAHPAEHHPAPAEPAHHH@Z)
ARMDbg/hello.exe : fatal error LNK1120: 20 unresolved externals
Error executing link.exe.


一般在windows下开发,碰到这种链接错误,肯定是缺少lib文件或缺少cpp文件,但这些头文件和cpp文件我全部加到了项目中,而且我检查了project->setinngs设置,我的lib文件已全部加到项目中,难道是在wince下不支持win32编译的debug,win32下编译的dll或lib一定要在wince下编译才行吗????
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yajyjy 2005-12-22
  • 打赏
  • 举报
回复
VC和eVC是有一些区别的。如果你把vc下的程序直接用于evc肯定会有问题的。楼主不妨麻烦一点,在evc下重新创建这些cpp和.h文件,再把vc下的代码拷贝过去就成了。如果用文件覆盖可能还会有问题的
yangyzqo 2005-12-20
  • 打赏
  • 举报
回复
补充一下:
debug与Releas两个版本在eVC中好像也要有区别的使用
yangyzqo 2005-12-20
  • 打赏
  • 举报
回复
VC下编译的库要在EVC及其相应环境下重新编译下才能正确使用,你看看会不会是这样的问题

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧