QT 4 - 如何将QuaZip和QtCrypto构建到.Lib?

时间:2011-10-13 09:01:23

标签: qt symbian nokia quazip

最新消息:

  1. 我修正了QuaZip问题

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

  3. 问题:

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

      背景

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

    4. 我需要使用QtCrypto(解密文件)和QuaZip(解压缩ePub zip文件)
    5. 我不能在我的项目中使用它们。
    6. 平台:

      1. Qt Creator 2.3.0基于Qt 4.7.4
      2. Window 7 32bit
      3. 部署到诺基亚N8
      4. 我试过的步骤:

        A)构建Lib

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

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

               

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

        2.   
        3. 不加任何改变地打开它。点击“构建”

        4.   
        5. 找不到.lib文件。所以我复制了.dll和.h而不是

        6.   
        7. 即使我按照QuaZip网站的说明

        8. 仍然失败   

          B)导入项目

          1. 我创建了新的Project(Mobile Qt Application)

          2. 选择“Symbian模拟器”,“Symbian设备”,“窗口桌面”构建环境

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

          4. 导入zdll.lib,zlib.def(QuaZip项目附带)

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

          6.  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

1 个答案:

答案 0 :(得分: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插件(可在Tools Index找到)构建QtQrypto可能会也可能不会相似。