smplayer-16.7.0源码 32位Debug版编译、运行、调试
2016-08-08 20:53
357 查看
smplayer-16.7.0源码 32位Debug版编译、运行、调试
环境 : Qt_5_5_1_MSVC2010 + Lenovo Z470 , Win7-x86
~、 编译上
(*)
smplayer.pro 修改 ,去掉debug版前的"#"号,加在release版前面:
CONFIG += release
#CONFIG += debug
(*)
src\actionseditor.cpp 、languages.cpp等 从UTF-8无BOM转为UTF-8编码 否则编译报错如下。
..\src\languages.cpp(258) : error C2001: 常量中有换行符
..\src\languages.cpp(258) : error C2146: 语法错误: 缺少")"(在标识符"Japanese"的前面)
~、 链接上
(*)
LINK : fatal error LNK1104: 无法打开文件"libole32.obj"
把链接"libole32.obj" 替换成链接 ole32.lib user32.lib ,且加入下划线标示的库路径。
修改 build-smplayer-Desktop_Qt_5_5_1_MSVC2010_32bit-Debug\Makefile.Debug 文件中的"LIBS"这一行:
LIBS = /LIBPATH:E:\Qt\Qt5.5.1\5.5\msvc2010\lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\qtmaind.lib shell32.lib /LIBPATH:E:\Qt\Qt5.5.1\5.5\msvc2010\lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Cored.lib
z.lib /LIBPATH:..\zlib /LIBPATH:..\Lib ole32.lib user32.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Widgetsd.lib
E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Guid.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Networkd.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Xmld.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Scriptd.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Cored.lib debug\smplayer.res
(?)直接编译smplayer-16.7.0\zlib\contrib\vstudio\vc10\zlibvc.sln生成的 zlib\contrib\vstudio\vc10\x86\ZlibDllDebug\zlibwapi.lib不能用,提示"_inflateEnd"等符号找不到,且编译后不会自动改名为z.lib 。
处理: 先链接引用 wireshark-2.0.3\Wireshark-win32-libs-2.0\zlib-1.2.8-ws\lib\zdll.lib,可以链接、正常运行。
解决: 参Zlib 1.2.7
~、运行、调试。
替换处理:
安装、或解压官网发布的绿色版smplayer,将安装路径中的 smplayer-portable-16.7.0.0\smplayer.exe 替换为 Qt Creator编译出来的同名主程序 即可运行,并可在Creator中附加该进程以调试代码。
PS : 这一种处理方式,在32位机上,可以运行,并且用的是 Debug 版的生成替换了Release版的。
但,在64位机上,用这个方法把 Debug 版的主程序替换了Release版的,启动会报错。
64位 Debug版编译
~、
参照32位Debug版的编译。
注,链接时 有些链接参数 还是需要32位的:
()LFLAGS = ... /MANIFESTDEPENDENCY:type='win32' ...
()LIBS = ... ole32.lib user32.lib ...
环境 : Qt_5_5_1_MSVC2010 + Lenovo Z470 , Win7-x86
~、 编译上
(*)
smplayer.pro 修改 ,去掉debug版前的"#"号,加在release版前面:
CONFIG += release
#CONFIG += debug
(*)
src\actionseditor.cpp 、languages.cpp等 从UTF-8无BOM转为UTF-8编码 否则编译报错如下。
..\src\languages.cpp(258) : error C2001: 常量中有换行符
..\src\languages.cpp(258) : error C2146: 语法错误: 缺少")"(在标识符"Japanese"的前面)
~、 链接上
(*)
LINK : fatal error LNK1104: 无法打开文件"libole32.obj"
把链接"libole32.obj" 替换成链接 ole32.lib user32.lib ,且加入下划线标示的库路径。
修改 build-smplayer-Desktop_Qt_5_5_1_MSVC2010_32bit-Debug\Makefile.Debug 文件中的"LIBS"这一行:
LIBS = /LIBPATH:E:\Qt\Qt5.5.1\5.5\msvc2010\lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\qtmaind.lib shell32.lib /LIBPATH:E:\Qt\Qt5.5.1\5.5\msvc2010\lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Cored.lib
z.lib /LIBPATH:..\zlib /LIBPATH:..\Lib ole32.lib user32.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Widgetsd.lib
E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Guid.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Networkd.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Xmld.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Scriptd.lib E:\Qt\Qt5.5.1\5.5\msvc2010\lib\Qt5Cored.lib debug\smplayer.res
(?)直接编译smplayer-16.7.0\zlib\contrib\vstudio\vc10\zlibvc.sln生成的 zlib\contrib\vstudio\vc10\x86\ZlibDllDebug\zlibwapi.lib不能用,提示"_inflateEnd"等符号找不到,且编译后不会自动改名为z.lib 。
处理: 先链接引用 wireshark-2.0.3\Wireshark-win32-libs-2.0\zlib-1.2.8-ws\lib\zdll.lib,可以链接、正常运行。
解决: 参Zlib 1.2.7
~、运行、调试。
替换处理:
安装、或解压官网发布的绿色版smplayer,将安装路径中的 smplayer-portable-16.7.0.0\smplayer.exe 替换为 Qt Creator编译出来的同名主程序 即可运行,并可在Creator中附加该进程以调试代码。
PS : 这一种处理方式,在32位机上,可以运行,并且用的是 Debug 版的生成替换了Release版的。
但,在64位机上,用这个方法把 Debug 版的主程序替换了Release版的,启动会报错。
64位 Debug版编译
~、
参照32位Debug版的编译。
注,链接时 有些链接参数 还是需要32位的:
()LFLAGS = ... /MANIFESTDEPENDENCY:type='win32' ...
()LIBS = ... ole32.lib user32.lib ...
相关文章推荐
- 我的DIY Android之旅--在(32位)ubuntu11.04编译运行Android2.3.源码
- 汇编语言DosBox下在64位上运行实现编译(masm)与调试即debug命令。
- Linux下用Eclipse编译、安装、运行、调试PostgreSQL源码
- 64位 linux操作系统下如何编译和运行32位源码
- 动手实现Android源码(AOSP)的下载、编译、运行、导入、调试
- 编译,调试mono运行时
- 编译后运行,出现debug assertion failed!错误并转到ProcessShellCommand 函数
- Debug 运行正常但 Release 失败的问题,Debug 和 Release 编译方式的本质区别
- 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题
- 快速建立Servlet和JSP的运行、调试和编译环境
- [整]基于ubuntu 10.04(32位机)的Android2.2 源码编译
- Linux 学习第一天 搭建环境,编译,调试,运行
- 求助:VB.NET2003,我RELEASE状态下编译可以通过,在DEBUG状态下却运行不起来。是什么原因呀?
- 如何在其他电脑上运行VS2005编译的DEBUG版应用程序
- 在Eclipse中调试运行launcher源码(三)——修改工程的包名
- 快速编译运行Java文件,便于调试
- Android 源码编译错误45解决 opencore 启用pvlog 调试
- lua编译,运行与调试
- 快速建立Servlet和JSP的运行、调试和编译环境
- openfire源码编译部署,运行