【问题标题】:QT 4 - How to build QuaZip and QtCrypto to .Lib?QT 4 - 如何将 QuaZip 和 QtCrypto 构建到 .Lib?
【发布时间】:2011-10-13 09:01:23
【问题描述】:

最新消息:

  1. 我修复了 QuaZip 问题

  2. QtCrypto 现在可以在桌面平台(使用 AES 256)上运行。但是如何为 Symbian 构建库

问题:

  1. 如何构建 QtCrypto 和 QuaZip 的 .lib 文件? (详情如下)
  2. 如何在新的 QT Mobile 应用程序项目(QT Create 2.3)中使用 Lib?

    背景:

  3. 我正在使用 Qt Creator 为诺基亚 Symbian 设备制作 UnZip Manager 应用程序。

  4. 我需要使用 QtCrypto(解密文件)和 QuaZip(解压缩 ePub zip 文件)
  5. 我无法在我的项目中使用它们。

平台:

  1. Qt Creator 2.3.0 基于 Qt 4.7.4
  2. Window 7 32 位
  3. 部署到诺基亚 N8

我尝试过的步骤:

A) 构建库

  1. 下载并打开 QtCtypto 和 QuaZip 项目

    QtCtypto:http://delta.affinix.com/qca/

    QuaZip:http://quazip.sourceforge.net/

  2. 打开它而不做任何更改。点击“构建”

  3. 找不到 .lib 文件。所以我复制 .dll 和 .h 来代替

  4. 即使我按照 QuaZip 网站的说明操作仍然失败

B) 导入项目

  1. 我创建新项目(移动 Qt 应用程序)

  2. 选择了“Symbian Simulator”、“Symbian Device”、“Window desktop”构建环境

  3. 导入上述.dll .h文件。

  4. 导入zdll.lib、zlib.def(QuaZip项目自带)

  5. 在 .pro 文件中添加以下代码

 OTHER_FILES += \    
 lib/zdll.lib \    
 lib/zlib.def \    
 lib/QuaZip.dll


 LIBS += $$PWD/lib/zdll.lib    
 LIBS += $$PWD/lib/QuaZip.dll   

 INCLUDEPATH += $$PWD/include    
 DEPENDPATH += $$PWD/include

 6. 在 .cpp 文件中,它可以检测并且我可以创建一个变量

7. 我按照 QuaZip 网站中的示例进行操作。它就像:QuaZip(fileName);

 8. 但是当我运行应用程序时,它无法启动。但是当我构建它时没有错误

C) 其他

  1. 我尝试从 QuaZip 和 QtCtypto 构建 .lib,但失败了

  2. 它总是构建 .dll 或 .a 而不是 .lib

【问题讨论】:

  • 您能分享一下您如何为 Symbian 编译 QuaZip。我的项目也需要它。谢谢

标签: qt symbian nokia quazip


【解决方案1】:

不久前,我非常需要 QuaZip。这是我为构建它而制作的 SConscript 文件:

# SConscript

env = Environment (tools = ['default', 'qt4'])
env.Tool ('qt4')
env.Append (CPPFLAGS = ['-O2'], CPPDEFINES = ['QT_NO_DEBUG', 'QT_NO_DEBUG_OUTPUT'])
if (env ['PLATFORM'] == 'win32'):
        env.Append (CPPPATH = [env ['QT4DIR'] + '/src/3rdparty/zlib'])
env.EnableQt4Modules (['QtCore'])
lib_quazip = env.StaticLibrary ('quazip', Glob ('*.cpp') + Glob ('*.c'))
env.Default (lib_quazip)
Export ('lib_quazip')

如果您不熟悉SCons,它是自动工具/生成文件的方便替代品。如果我没记错的话,这个 SConscript 可以在 Windows 和 Linux 上运行。您还需要 scons-qt4 插件(位于 Tools Index)构建 QtQrypto 可能类似也可能不类似。

【讨论】:

  • 最后,我自己修好了 QuaZip。但仍然无法使用 QtCtypto。我可以构建它,但它显示“不支持 AES”......
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 2018-11-21
相关资源
最近更新 更多