QCA no Makefile



  • I have this problem getting QCA (Qt Cryptographic Architecture) for my project. I'm following this guide for building it for Windows: https://github.com/JPNaude/dev_notes/wiki/Using-the-Qt-Cryptographic-Architecture-with-Qt5

    I have all the things in the Environment Setup section but Doxyfile.

    When I run cmake . this is what I get as output:

    -- Selecting Windows SDK version  to target Windows 10.0.16299.
    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
    -- Building with Qt5 support
    -- Installed package is NOT relocatable
    -- Checking for certstore..
    -- Using built in certstore.
    -- certstore path: D:/__DEV__/C++ Libs & DLLs/qca-2.1.3/certs/rootcerts.pem
    -- mlock(2) does not take a void *
    CMake Warning at plugins/qca-ossl/CMakeLists.txt:18 (message):
      qca-ossl will be compiled without MD2 digest algorithm support
    
    
    CMake Warning at plugins/qca-ossl/CMakeLists.txt:32 (message):
      qca-ossl will be compiled without SHA-0 digest algorithm support
    
    
    
    Plugins:
      qca-botan off
      qca-cyrus-sasl off
      qca-gcrypt off
      qca-gnupg on
      qca-logger on
      qca-nss off
      qca-ossl on
      qca-pkcs11 off
      qca-softstore on
    
    QCA prefix is D:/Programs/Qt/5.9.2/msvc2015
    Plugins will be installed to D:/Programs/Qt/5.9.2/msvc2015/plugins
    Binary will be installed to D:/Programs/Qt/5.9.2/msvc2015/bin
    Library will be installed to D:/Programs/Qt/5.9.2/msvc2015/lib
    Public headers will be installed to D:/Programs/Qt/5.9.2/msvc2015/include/Qca-qt5
    Private headers will be installed to D:/Programs/Qt/5.9.2/msvc2015/include/Qca-qt5
    Feature file will be installed to D:/Programs/Qt/5.9.2/msvc2015/mkspecs/features
    Documentation will be installed to D:/Programs/Qt/Docs/Qt-5.9.2/html/qca
    Man page will be installed to D:/Programs/Qt/5.9.2/msvc2015/man
    Pkg-config file will be installed to D:/Programs/Qt/5.9.2/msvc2015/lib/pkgconfig
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: D:/__DEV__/C++ Libs & DLLs/qca-2.1.3
    

    This all seems fine, but the next step is to run make, but the problem is that there is no Makefile. I'm guessing it should have been generated from running cmake ., or even that it should be included with the source (I checked, can't find it).

    The exact error I get from running make is this:

    mingw32-make: *** No targets specified and no makefile found.  Stop.
    

    What am I overlooking?


  • Lifetime Qt Champion

    Hi,

    One thing that looks fishy: you seems to have an environment setup for Visual Studio 2015 yet you try to build with MinGW.

    The correct command name would be nmake or use a MinGW build of Qt.

    Even if you are using cmake here: please avoid using paths with spaces and special characters, they are known to be source of troubles on Windows with qmake.



  • also, if you are using MSVC you have to tell cmake to generate makefiles instead of project files. Pass the -G "NMake Makefiles" arguments to your cmake call



  • @SGaist said in QCA no Makefile:

    Hi,

    One thing that looks fishy: you seems to have an environment setup for Visual Studio 2015 yet you try to build with MinGW.

    The correct command name would be nmake or use a MinGW build of Qt.

    Even if you are using cmake here: please avoid using paths with spaces and special characters, they are known to be source of troubles on Windows with qmake.

    I have tried other make files. For example GNuMake with the same result (you can probably tell that I am kinda new to compiling and the likes).

    Running nmake gives the same kind of error as everything else;

    Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    NMAKE : fatal error U1064: MAKEFILE not found and no target specified
    Stop.
    


  • Slightly related, is QCA supported and updated? The last thing you'd want is to use an out of date cryptographic library.

    I normally use Crypto++ but libcrypto of OpenSSL is also very good (if you don't mind messing with C)


  • Lifetime Qt Champion

    @VRonin AFAIK, QCA is not a cryptographic library, it's rather a layer that provides an easy to use API on top of cryptographic libraries.



  • @VRonin said in QCA no Makefile:

    also, if you are using MSVC you have to tell cmake to generate makefiles instead of project files. Pass the -G "NMake Makefiles" arguments to your cmake call

    You sir, have saved me. I can't believe they don't specify that in the guide (it also uses MSVC, so idk why there wasn't the same problem).

    I've run into some trouble while building, but that can/should be its own topic.

    @VRonin said in QCA no Makefile:

    Slightly related, is QCA supported and updated? The last thing you'd want is to use an out of date cryptographic library.

    I normally use Crypto++ but libcrypto of OpenSSL is also very good (if you don't mind messing with C)

    It is still active, looking at the the git (https://cgit.kde.org/qca.git/) the last commit was in 2017-09-30 (some months ago, but it isn't dead).
    I had also been looking at Crypto++, but ended up settleing for QCA for no pacticular reasons. And I wouldn't mess with C, I'm still even just a C++ newbie afterall ;) QCA can also use OpenSSL btw.



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.