[solved][Mac OS X] Additional plugins for Qt (qca plugins)
-
Hi.
In my application I'm using qca-ossl plugin. It works flawlessly in Linux, but I'm having some issues on Mac OS X 10.5. I'm using Qt 4.7.1 and QtCreator 2.0.1 (both from .dmg files). Then I've installed "QCA framework":http://delta.affinix.com/qca/ (2.0.3 from source) and tested it. Because configure does not find Qt (even though qmake is in path and I'm setting --qtdir) I've downloaded already built "qca-plugins":http://delta.affinix.com/download/qca/2.0/qca-2.0-plugins-latest.dmg In Linux qca plugins are located in crypto subfolder of plugins (e.g. /usr/lib64/qt/plugins/crypto/), so I've created crypto folder in /Developer/Application/Qt/plugins/ and copied all .dylib files there. Still my application does not link to them. I'd be grateful for any suggestions. -
You could add
@
qDebug() << qApp->libraryPaths();
@to your main.cpp. There you can see, where your app searches for plugin folders. Put your crypto folder in one of that.
-
Thanks for your reply. It searches in /Developer/Application/Qt/plugins/. So it seems that it is problem with those .dylib files :/
-
I'll have a look into this later. Just need to finish my regular work ;-)
-
Can you tell us what exactly you did to install these libs, please. I don't know how to set up a test case for this, sorry.
The disk image only contains the dylibs. Where are the header files to include and the base QCA libs that are needed?
-
So, I've installed Qt 4.7.1 and QtCreator 2.0.1 from dmg files. Then I've installed QCA framework "from source":http://delta.affinix.com/download/qca/2.0/qca-2.0.3.tar.bz2"
@./configure
make
sudo make install@
I've checked if it works. After downloading qca-plugins I've created directory crypto in /Developer/Application/Qt/plugins/ and copied all dylibs there.All header files are provided by qca, plugins provide only dylibs. For example these are contents of qca-ossl package installed on my Linux:
@
FILE LIST:
./
usr/
usr/doc/
usr/doc/qca-ossl-2.0.0_beta3/
usr/doc/qca-ossl-2.0.0_beta3/COPYING
usr/doc/qca-ossl-2.0.0_beta3/TODO
usr/doc/qca-ossl-2.0.0_beta3/README
usr/lib64/
usr/lib64/qt/
usr/lib64/qt/plugins/
usr/lib64/qt/plugins/crypto/
usr/lib64/qt/plugins/crypto/libqca-ossl.so.debug
usr/lib64/qt/plugins/crypto/libqca-ossl.so
install/
install/slack-desc
@Example code:
in .pro file you should add:
@
CONFIG += crypto
@
main.cpp
@
#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QtCrypto>int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QCA::Initializer init;
qDebug() << QCA::supportedFeatures();
return a.exec();
}
@ -
I'll give it a try tonight or tomorrow, stay tuned.
-
I've tried it now. The pre built plugins cannot be loaded. I've tried to load them manually with "QPluginLoader":http://doc.qt.nokia.com/latest/qpluginloader.html, that fails too and states that the file libqca-logger.dylib is not a valid Qt plugin.
From how I interpret QPluginLoader's docs, the plugins need to be recompiled with your current Qt version.
-
I've found out that plugins configure problems can be solved by recreating configure file. It was created by tool called "QConf.":http://delta.affinix.com/qconf/ Problem is that QConf also has corrupted configure (same problem). I've informed developers about this situation and I hope it'll be fixed soon. "Thread about faulty configure.":http://lists.affinix.com/htdig.cgi/delta-affinix.com/2010-September/001736.html
-
I was adviced to try to run QConf's configure in that way:
@
QMAKESPEC=macx-g++ ./configure
@ If it does not work, version from svn should. Also new release of qca-ossl is planned soon, which should fix those issues.
I'll test it on Monday and update you with results. -
adding
@
QMAKESPEC=macx-g++ ./configure
@ for qca-ossl solved the issue. You don't have to use QConf (as I stated in my previous post).