最新消息:


我修复了QuaZip问题
QtCrypto现在可以在桌面平台(使用AES 256)上运行。但是如何为Symbian构建lib?


问题:


如何构建QtCryptoand QuaZip的.lib文件? (详情如下)
如何在新的QT移动应用程序项目(QT Create 2.3)中使用库?

背景:
我正在使用Qt Creator制作适用于诺基亚Symbian设备的UnZip Manager应用程序。
我需要使用QtCrypto(解密文件)和QuaZip(解压缩ePub zip文件)
我不能在我的项目中使用它们。


平台:


基于Qt 4.7.4的Qt Creator 2.3.0
视窗7 32位
部署到诺基亚N8


我尝试的步骤:

A)建立库


下载并打开QtCtypto和QuaZip项目

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

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

无需任何更改即可将其打开。点击“构建”
找不到.lib文件。所以我改为复制.dll和.h
即使我遵循QuaZip网站的指示仍然失败


B)导入到项目



我创建新项目(Mobile Qt应用程序)
选择“ Symbian Simulator”,“ Symbian设备”,“ Window桌面”构建环境
导入上述.dll .h文件。
导入zdll.lib,zlib.def(QuaZip项目随附)
在.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)其他


我尝试从QuaZip和QtCtypto构建.lib,但失败
它总是生成.dll或.a而不是.lib

最佳答案

前一阵子我非常需要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可能相似,也可能不相似。

关于qt - QT 4-如何将QuaZip和QtCrypto构建为.lib?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7751714/

10-09 09:52