从网上下载了“用C编写的MPEG2视频切割的源代码”调试过程中,出现三个连接错误,
getpic.obj::error LNk2002:unresolved extrenal symbol @SS EMMX_IDCT@4
getpic.obj::error LNk2002:unresolved extrenal symbol @MMX_IDCT@4
类似的错误,折腾了一天终于找到解决的办法,写出来供大家参考;
解决方法:
先用汇编编译文件夹下的“idctmmx.asm”,然后把生成的“idctmmx.obj”加载到MPEG2cut工程里即可。
注意:
1、载编译asm的时候对masm的版本有要求,开始我用的masm6.11结果编译不通过,会提示缺少连个.inc头文件。查询了好久也没有从网上找到第二个;然后我用masm6.15编译,good,通过,生成相应的idctmmx.obj。
2、把idctmmx.obj拷贝到工程目录下,像加载cpp文件类似的方法把该.obj文件加载到vc项目里。
3、编译程序,终于没有错误了:)
本人是菜鸟,再次也记录下汇编的步骤
运行——cmd——e:——masm 615/bin——masm idctmmx.asm回车ok。
这里我的masm放在了e盘里了。
本文介绍了一种解决使用C语言编写的MPEG2视频切割源代码中出现的链接错误的方法。主要涉及如何正确编译并引入汇编语言文件&idctmmx.asm&来解决未解析外部符号的问题。
1万+





