3

最新消息:

  1. 我修复了 QuaZip 问题

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

问题:

  1. 如何构建 QtCryptoand QuaZip 的 .lib 文件?(详情如下)
  2. 如何在新的 QT 移动应用程序项目(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. 窗口 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

4

1 回答 1

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,它是 autotools / makefiles 的方便替代品。如果我没记错的话,这个 SConscript 可以在 Windows 和 Linux 上运行。您还需要 scons-qt4 插件(可在工具索引中找到)构建 QtQrypto 可能相似也可能不相似。

于 2011-10-14T08:51:45.947 回答