Unable to build even with all prerequisites installed

Issue #602 closed
Ondřej Španěl created an issue

I guess this is most likely some trivial omission on my side, and I am missing some prerequisite, but to the best of my knowledge I have installed all prerequisities from the Overview page.

qmake speedcrunch.pro passed fine to me (only with WARNING: Failure to find: doc\manual.qrc), but when I type make, I get an error:

'make' is not recognized as an internal or external command

What package should I install so that I can run make?

I am working on Window 7 x64, I have Visual Studio 2012, QT 5.5, Python 2.7.2, pip, sphinx and Quark theme installed.

Comments (15)

  1. Ondřej Španěl reporter

    I guess on Win I should perhaps use nmake instead? Still, when launching Developer Command Prompt for VS2012, cd into speedcrunch src directory, and performing qmake speedcrunch.pro followed with nmake I get error py is not recognized ...

    I guess I am missing some steps everyone here knows, but I have almost no experience with building from command line, and I do not know how to proceed.

  2. Ondřej Španěl reporter

    Advanced one more step. Turns out I need to install Python 3.3 or newer to have py.exe available.

    Now I get errors from compiler, starting with

    gui\syntaxhighlighter.cpp(39) : error C2470: 'RoleNames' : looks like a function definition, but there is no parameter list; skipping apparent body

    If I ever get through this, I will definitely try to update "How to build" documentation.

  3. Ondřej Španěl reporter

    Two more steps:

    VS 2015 is needed (for better C++11 conformance) This means Qt 5.6 needed (5.5 does not contain vs2015 support).

    After that I am able to launch "Developer Command Prompt for VS2015", cd into speedcrunch / src directory, perform qmake speedcrunch.pro followed by nmake, and the build suceeds.

  4. Pol Welter

    Hi, I am sorry, for not responding sooner, I was busy until now. AFAIK none of use are using the combination of MSVC + qmake, so I am afraid we can be of only little help in that regard. However, python3 is not required. The Qmake file has indeed some difficulties finding python2, so you can help it by adding the argument PYTHON_EXECUTABLE=python to your qmake call.

  5. Ondřej Španěl reporter

    Note: The exe build this way requires QT dlls. To build Speedcruch against static libs one needs to build QT as well, as described in BuildingWin32Package.

    Until I gather a strength to do that, I am copying a few dll files next to the exe:

    Qt5CLucene.dll, Qt5Core.dll, Qt5Gui.dll, Qt5Help.dll, Qt5Network.dll, Qt5Sql.dll, Qt5Widgets.dll.

    After this I am able to launch the compiled exe without any errors.

  6. Ondřej Španěl reporter

    AFAIK none of use are using the combination of MSVC + qmake

    I will be glad to update docs.

    What are you mostly using? MSVC with CMake, or Linux?

  7. Helder Correia repo owner

    CMake with Linux for most of us. This morning I precisely thinking that we should have a clear document describing how to build for a Windows release, as we get closer and closer to 0.12, and the person who used to package for Windows and Mac is not available anymore.

  8. Pol Welter

    Also note that the current requirement of python, sphinx, quark, etc. (essentially everything necessary for the manual) will be dropped at some point. Once the manual's writing is mostly done we plan to decouple the manual's build from the main app's. Then the weird message about the missing .rc will also be a thing of the past...

    Speaking of it, I think now might actually a good idea to get started on this... Let me see what I can do.

  9. Tey'

    I do build on Windows (and I guess @fk does as well) using cmake and MSVC2015. You can probably use qmake as well but you need to download GNU make for Windows then. I think you can also build the application using Qt Creator but I've never use it.

    Here is the batch script I use to set up the build environment:

    @echo off
    set OLD_CWD=%cd%
    
    REM CMake
    set PATH=C:\Program Files (x86)\CMake\bin;%PATH%
    REM NSIS
    set PATH=C:\Program Files (x86)\NSIS;%PATH%
    REM Qt
    CALL E:\Qt\Qt5.6.0\5.6\msvc2015_64\bin\qtenv2.bat
    REM VC++
    CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
    REM Python
    set PATH=%PATH%;C:\Python27
    
    REM Back to current directory because Qt changes it
    cd /D %OLD_CWD%
    
    echo.
    echo To build speedcrunch:
    echo     cd speedcrunch\src
    echo     cmake -G"Visual Studio 14 2015 Win64" -DPORTABLE_SPEEDCRUNCH=ON
    echo OR  cmake -G"Visual Studio 14 2015 Win64"
    echo     msbuild PACKAGE.vcxproj /p:Configuration=Release
    echo OR  msbuild INSTALL.vcxproj /p:Configuration=Release
    echo.
    echo To test the build, check the content of the _CPack_Packages folder.
    echo To run all the tests:
    echo for %%a in (Release\test*.*) DO %%a
    

    Just change the paths according to your installation, then open a Windows command prompt (not the MSVC command prompt) and run the script, then you should be able to build SpeedCrunch. Note that this is for 64 bits builds. If you need to build for 32 bits, just replace "Visual Studio 14 2015 Win64" with "Visual Studio 14 2015", and msvc2015_64 with msvc2015.

  10. Tey'

    Note that the cmake builds do copy the needed DLL next to the SpeedCrunch executable. Also note there are lots of warnings from cl when building SpeedCrunch. It's on my TODO list, but I don't have the time to "fix" them yet.

  11. Felix Krull

    Building SpeedCrunch only requires CMake and Qt now (commit 824e320). The authoritative source for build instructions is the readme (commit 8fe491d) and there's a guide on how to build Windows installers on the wiki.

    Due to some aspects of the platform, it's pretty much impossible to give short, fool-proof build instructions for Windows. Unless the readme turns into a "how to use CMake on Windows", the current steps are probably as good as it gets.

  12. Log in to comment