• 8017阅读
  • 8回复

[提问]qml写的程序,插件目录里的qmldir 有办法删除而不影响程序运行吗 [复制链接]

上一主题 下一主题
离线fghfghfgh
 

只看楼主 倒序阅读 楼主  发表于: 2014-10-12


最近用qml写了一个程序,代码 几乎全是qml+js  
然后动态编译,体积53.7M多
但我发现,在插件目录下有个 叫 qmldir的 文件,不能删,删了 就会导致程序运行 后 看不到界面,什么都看不到,但这个文件非常容易被修改,因为他是个文本文件
始终觉得不太好的

我在思考 有没有办法,删除这个文件,而不影响程序的运行呢,好几个目录下都有这个文件,就是不能删,删了就运行出错
我的目录结构如下:

  1. ├─myapp
  2. │  │  icudt52.dll
  3. │  │  icuin52.dll
  4. │  │  icuuc52.dll
  5. │  │  libgcc_s_dw2-1.dll
  6. │  │  libstdc++-6.dll
  7. │  │  libwinpthread-1.dll
  8. │  │  PageNavigationBar.exe
  9. │  │  Qt5Core.dll
  10. │  │  Qt5Gui.dll
  11. │  │  Qt5Network.dll
  12. │  │  Qt5Qml.dll
  13. │  │  Qt5Quick.dll
  14. │  │  Qt5Widgets.dll
  15. │  │  tree.txt
  16. │  │  
  17. │  ├─platforms
  18. │  │      qwindows.dll
  19. │  │      
  20. │  ├─QtQuick
  21. │  │  ├─Controls
  22. │  │  │  │  qmldir
  23. │  │  │  │  qtquickcontrolsplugin.dll
  24. │  │  │  │  
  25. │  │  │  ├─Private
  26. │  │  │  │      qmldir
  27. │  │  │  │      
  28. │  │  │  └─Styles
  29. │  │  │          qmldir
  30. │  │  │          
  31. │  │  ├─Layouts
  32. │  │  │      qmldir
  33. │  │  │      qquicklayoutsplugin.dll
  34. │  │  │      
  35. │  │  └─Window.2
  36. │  │          qmldir
  37. │  │          windowplugin.dll
  38. │  │          
  39. │  └─QtQuick.2
  40. │          qmldir
  41. │          qtquick2plugin.dll

我比较担心,会被用户修改,因为这个软件   我打算商业化,也怕对手乱来什么的

原始大小 53.7,我用upx -9  进行了压缩,压缩到了 21M  【QtQuick,platforms 目录下的所有 dll 无法压缩,否则就出错】




请问我还有办法,让软件整体体积变小吗
还有哪个qmldir 能有办法删除 或者隐藏吗,不想被用户看到


离线雷小某

只看该作者 1楼 发表于: 2014-10-13
第一、静态编译,这个没什么好说;
第二、其实多出来的体积大多数来自icu库,如果你不追求国际化,可以自己去icu官网定制icu数据,这样下来icu三个动态加起来的体积估计也就4M不到

PS:真想做商业化的话最好自己动手编译Qt库,Win下的话老老实实自己编一个VC++版的

4条评分好评度+1贡献值+1金钱+10威望+1
fghfghfgh 好评度 +1 - 2014-10-13
fghfghfgh 贡献值 +1 - 2014-10-13
fghfghfgh 威望 +1 - 2014-10-13
fghfghfgh 金钱 +10 - 2014-10-13
离线彩阳

只看该作者 2楼 发表于: 2014-10-13
我一个中等规模项目,使用QML加上静态编译,大概7M。
上海Qt开发联盟,热忱地欢迎你的加入!
离线fghfghfgh

只看该作者 3楼 发表于: 2014-10-13
回 彩阳 的帖子
彩阳:我一个中等规模项目,使用QML加上静态编译,大概7M。 (2014-10-13 11:55) 

怎么弄的啊  能大概说说吗
离线fghfghfgh

只看该作者 4楼 发表于: 2014-10-13
回 雷小某 的帖子
雷小某:第一、静态编译,这个没什么好说;
第二、其实多出来的体积大多数来自icu库,如果你不追求国际化,可以自己去icu官网定制icu数据,这样下来icu三个动态加起来的体积估计也就4M不到
PS:真想做商业化的话最好自己动手编译Qt库,Win下的话老老实实自己编一个VC++版的
....... (2014-10-13 10:08)

谢谢指点, 只是我没有购买正版,自己打算弄个软件去卖  这样会违反规定

另外我的软件在win8下开发   用户群是windows 用户, 我目前用的不是vs  而用的mingw,是不是用vs 比较好啊


离线彩阳

只看该作者 5楼 发表于: 2014-10-13
回 fghfghfgh 的帖子
fghfghfgh:怎么弄的啊  能大概说说吗 (2014-10-13 12:45) 

看看这个帖子。
http://www.qtcn.org/bbs/read-htm-tid-57329.html
上海Qt开发联盟,热忱地欢迎你的加入!
离线雷小某

只看该作者 6楼 发表于: 2014-10-13
回 fghfghfgh 的帖子
fghfghfgh:谢谢指点, 只是我没有购买正版,自己打算弄个软件去卖  这样会违反规定
另外我的软件在win8下开发   用户群是windows 用户, 我目前用的不是vs  而用的mingw,是不是用vs 比较好啊
....... (2014-10-13 13:01)

那参照第二条就可以了,自定义icu,这个不是Qt的库范围,不受协议限制。体积基本可以减少20M左右。另外,Win下用VS版的体积是要比MinGW版小些,毕竟亲儿子,二进制代码优化的肯定要好一些
离线fghfghfgh

只看该作者 7楼 发表于: 2014-10-13
回 雷小某 的帖子
雷小某:那参照第二条就可以了,自定义icu,这个不是Qt的库范围,不受协议限制。体积基本可以减少20M左右。另外,Win下用VS版的体积是要比MinGW版小些,毕竟亲儿子,二进制代码优化的肯定要好一些
 (2014-10-13 15:43) 

谢谢指点  
离线fghfghfgh

只看该作者 8楼 发表于: 2014-10-13
回 彩阳 的帖子
彩阳:看看这个帖子。
http://www.qtcn.org/bbs/read-htm-tid-57329.html (2014-10-13 14:44) 

谢谢指点
快速回复
限100 字节
 
上一个 下一个