Qt程序移植时需要拷贝哪些文件?

Jacky_ling 2012-11-18 02:21:38
写的一个Qt程序,在我自己电脑上(Windows 7 64bit)运行都是正常的,但是一拷贝到其他电脑(Windows 7 32bit; Windows XP等),有些功能就不正常了。特别是字体设置,“@字体”的设置都无效,但在我本机上是正常的。
我在移植的时候拷贝了如下一些文件夹:
plugins\imageformats; (支持不同格式的图片读取)
plugins\codecs;(解决中文乱码问题)
以及QtCore4.dll; QtGui4.dll等文件。
如果要使字体也能正常起作用,还需要拷贝哪些文件呢?
谢谢!!!
...全文
377 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jacky_ling 2012-11-22
  • 打赏
  • 举报
回复
引用 11 楼 proorck6 的回复:
是不是要把codec的dll放在exe文件旁边的codecs目录下?我这里是这么解决的。
这个我已经放了
Jacky_ling 2012-11-22
  • 打赏
  • 举报
回复
有知道的吗?这个问题太恶心了~
Jacky_ling 2012-11-22
  • 打赏
  • 举报
回复
引用 12 楼 haltwang 的回复:
我觉得你这真不是动态链接库的问题,因为codec没弄好的话,除了ui里的中文,其他地方都应该是乱码,因为默认latin1编码。肯定是其他什么地方出的问题
我在main函数里设置了codec了呀: QByteArray loc = QTextCodec::codecForLocale()->name(); QTextCodec::setCodecForTr(QTextCodec::codecForName(loc)); QTextCodec::setCodecForLocale(QTextCodec::codecForName(loc)); QTextCodec::setCodecForCStrings(QTextCodec::codecForName(loc)); 没有乱码出现哦,就是@字体设置不起作用。
haltwang 2012-11-22
  • 打赏
  • 举报
回复
我觉得你这真不是动态链接库的问题,因为codec没弄好的话,除了ui里的中文,其他地方都应该是乱码,因为默认latin1编码。肯定是其他什么地方出的问题
proorck6 2012-11-22
  • 打赏
  • 举报
回复
是不是要把codec的dll放在exe文件旁边的codecs目录下?我这里是这么解决的。
noodle123 2012-11-22
  • 打赏
  • 举报
回复
还没搞过跨平台,学习学习
Jacky_ling 2012-11-22
  • 打赏
  • 举报
回复

我想实现的就是类似QQ聊天面板里的字体设置,像图上的“@宋体”等等,我开发用的操作系统是win7英文版的,把Qt的程序拿到中文版的Windows系统下运行,像上面的字体设置就不起作用了,不知道是发布的时候少拷贝了哪个文件还是其他什么原因?
Jacky_ling 2012-11-21
  • 打赏
  • 举报
回复
引用 7 楼 openXMPP 的回复:
就是codecs就够了 目录结构为/plugins/codecs/qcncodecs4.dll 需要注意的是 qcncodecs4有带后缀d的debug版本 也有不带d的release版本 你现在问题是显示乱码 还是对特定字符显示无效? 你可以看看目标机上对应的字体是否已经安装 有些字体本身中文显示对应为小方框的 检查下目标机上对应字体.ttf文件是否缺失 ……
我现在的问题是设置带@字体时,在英文windows操作系统上设置是有效的,但在中文版的设置就没有效果。中文显示没有乱码,就是setFontFamily()时在中文版的系统上无效。
乔巴好萌 2012-11-20
  • 打赏
  • 举报
回复
就是codecs就够了 目录结构为/plugins/codecs/qcncodecs4.dll 需要注意的是 qcncodecs4有带后缀d的debug版本 也有不带d的release版本 你现在问题是显示乱码 还是对特定字符显示无效? 你可以看看目标机上对应的字体是否已经安装 有些字体本身中文显示对应为小方框的 检查下目标机上对应字体.ttf文件是否缺失
Jacky_ling 2012-11-20
  • 打赏
  • 举报
回复
引用 5 楼 openXMPP 的回复:
depends 和pe只能看出静态依赖的库 QT里的一些资源是按需加载的 比如qt的一些插件 只有当指定正确的目录方可加载 否则加载不成功也不影响qApp的启动
请问与字体设置有关的插件应该是哪些呢?比如,我打包的时候拷贝了codecs,imageformats这两个插件,还在这两个插件的文件夹里都放了Microsoft.VC90.CRT这个文件夹。
乔巴好萌 2012-11-20
  • 打赏
  • 举报
回复
depends 和pe只能看出静态依赖的库 QT里的一些资源是按需加载的 比如qt的一些插件 只有当指定正确的目录方可加载 否则加载不成功也不影响qApp的启动
Jacky_ling 2012-11-20
  • 打赏
  • 举报
回复
现在测试的结果是,在英文系统可以正常运行,中文系统就出问题了,总感觉发布的时候少了哪个文件,用depends, ProcessExplorer等都看了,还是没看出问题在哪里。。。
haltwang 2012-11-19
  • 打赏
  • 举报
回复
我在程序中用黑体,发布了就没有问题。 是不是其它怎么地方出问题了
乔巴好萌 2012-11-19
  • 打赏
  • 举报
回复
另外 你可以显示的用app加载指定的QFont 你检查下 是否存在代码里显示加载font的地方 要确保两台主机都有同样的字体
乔巴好萌 2012-11-19
  • 打赏
  • 举报
回复
要在代码的入口处设置plugins目录 里面指明了如何让qt程序加载codecs.dll这些插件 可以网上搜下 相关教程很多

16,201

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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