使用VS2010在编译x265过程中遇到的问题,请大侠帮忙看看
dwing吧
全部回复
仅看楼主
level 2
飄雪無聲 楼主
在大侠的帮助下, 已经可以使用cmake生成2010的工程了,但是还有如下问题:
1.编译提示如下错误:.\..\source\x265.cpp(244): error C2220: warning treated as error - no 'object' file generated
发现代码中如下定义:
#define XSTR(x) STR(x)
#define STR(x) #x
fprintf(stderr, "x265 [info]: HEVC encoder version %s\n", XSTR(X265_VERSION));
这是一个宏定义,我直接将其删除,不知道大家有没有遇到这个问题??
2. 注释上面的fprintf语句后,可以编译通过,但是出现了下面的错误,请大侠帮忙分析一下,多谢了。
问题比较简单,请大侠不吝赐教。
2013年07月30日 09点07分 1
level 6
我也遇到第一个问题了,直接注释掉了,第二个问题没遇到,不过Debug里应该是生成exe文件的,不应该有ALL_BUILD
2013年07月30日 10点07分 2
你好,感谢你的又一次回答。 请问你是直接用cmake生成vs2010的工程,然后在编译的过程中没有其他的任何改动吗? 我在debug模式和release模式下面,都遇到了第二个问题。
2013年07月30日 11点07分
level 2
飄雪無聲 楼主
是不是像编译HM那样,需要添加一些命令行?
2013年07月30日 11点07分 3
level 2
飄雪無聲 楼主
这个是我的debug文件下面生成的东西:
2013年07月30日 11点07分 4
level 6
我是用cmake生成VS2008的x265.sln的,在注释掉上面输出版本那行后,编译又会出现找不到__cpuidex函数,然后手动添加了这个函数后就没有遇到其他问题了;
运行的话需要在Command Arguments中添加命令行,像HM一样,在Working Directory中指明Degug或Release路径就可以运行了
2013年07月30日 11点07分 5
感谢您的回答,我是新接触编解码这一块的。后来我改为使用VS2008 (即VC9)编译后,将fprintf错误行注释。后来出现__cpuidex错误,由于这是扩展的cpuid内联函数,而且第三个参数为0,所以和 __cpuid是一样的,我就直接修改为 __cpuid了。现在可以正常编译通过。至于如何使用,明天再试试,非常感谢您。
2013年07月30日 13点07分
回复 飘雪无声 :谢谢dianzi080217,在X265中该如何添加Command Arguments,我仿照HM里面,但是不知道将cfg文件放在哪里?找了几个地方,都没有成功,请您在不吝赐教,详细介绍一下吧,我是新手,非常需要您的帮助!谢谢了。
2013年07月30日 14点07分
level 6
x265不是输入cfg文件,是在Command Arguments添加命令,如:
--input G:\Seq\265_seq\BasketballDrillText_832x480_50.yuv --input-depth 8 --width 832 --height 480 -f 10 -o out.bin
在你未配置Command Arguments和Working Directory前,直接在工程中按Ctrl+F5,就会出现各个指令的说明了
2013年07月30日 15点07分 6
非常感谢您这么晚还回复,VS2010的编译器cl.exe之所以在我的电脑出现问题,是因为和杀毒软件赛门铁克发生了冲突,所以,卸载该软件就没有问题了。
2013年07月31日 02点07分
你好,请问如何运行?
2014年07月22日 03点07分
level 12
第一个可能是你获取源代码的方式不对,应该是hg clone,而不是http下载,不过影响不大,只不过最后编译出的文件没有版本号,第二个不知道,我没有修改任何源代码的内容。
2013年07月30日 22点07分 7
多谢了,因为刚来公司,很多东西都没有安装,我是直接下载压缩包,应该问题不是很大吧。
2013年07月31日 00点07分
回复 飘雪无声 :您好,刚才使用mercurial下载了源码,使用cmake生成2010的工程后,编译没有问题,但是还是有第二个错误,提示找不到ALL_BUILD。
2013年07月31日 01点07分
回复 飘雪无声 :经过验证,使用压缩包rar 和 hg下载的版本都可以用。
2013年07月31日 07点07分
level 2
飄雪無聲 楼主
感谢上面两位的回复,现在可以编译成功,但是在我的xp系统下面,提示“无法定位程序输入点 InterLockedCompareExchange64 于动态链接库KERNEL32.DLL上”。查看代码,发现里面有几处调用了该函数。
从网络的资料来看,windows xp应该是不支持 InterLockedCompareExchange64 函数的。
两位目前是否使用win7或者更高版本?
2013年07月31日 03点07分 8
不必要,找到用这个的.cpp文件,工程设置里加个预定义 _WIN32_WINNT=0x0501就可以了
2013年07月31日 07点07分
level 1
楼主问题解决了吗??有人知道这是什么原因吗??谢谢
2013年10月29日 14点10分 9
这个问题你现在解决了吗?
2013年12月03日 12点12分
回复 sdluguo :lib文件要是能启动就怪了
2014年02月26日 02点02分
level 1
刚刚编译成功,也运行成功了,但是怎么设置参数可以输出编码过程,在x264中,可以有--verbose选项可用,但是在x265中没有发现啊?
2013年11月15日 03点11分 10
level 1
我想问一下楼主第二个问题如何解决
2013年12月03日 09点12分 11
1