Important: Please read the Qt Code of Conduct -

[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": (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": 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":"
    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:

    Example code:
    in .pro file you should add:
    CONFIG += crypto
    #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":, 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.": 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.":

  • 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).

Log in to reply