QtCreator без Qt

Решил я поэкспериментировать c GUI либой - Nana. Но не думал, что столько заморочек с ней будет. Очень непонятно, почему "штатный" MinGW32 7.3.0, входящий в последнюю поставку Qt не захотел компилировать либу. Ну я подумал, они там все на "пике стандартов" ... поставил MSYS, в который вошел GCC уже версии 10.1.0 - либа таки собралась.

Но потом встал вопрос компиляции тестового примера. Всеми правдами и неправдами я убил тучу времени на поиски и таки нашаманил работающий пакетный файл для сборки:

@echo off
SET PATH=C:\Tools\Msys64\mingw64\bin;%PATH%

C:\Tools\Msys64\mingw64\bin\g++.exe ^
 -IC:\Projects\c++\Nana\mingw-x64\include ^
 -LC:\Projects\c++\Nana\mingw-x64\lib ^
 -std=c++17 ^
 main.cpp -O3 -o NanaTest.exe ^
 -lnana -lgdi32 -lcomdlg32 -lz -Wl,-subsystem,windows ^
 -static -lpthread

strip NanaTest.exe

А вот теперь вопрос - как все это раскидать по настройкам в .pro файл для QtCreator'а?

Нужные профили комплектов MSYS в QtCreator'е создал.


Ответы (2 шт):

Автор решения: Denis Shienkov

Например, в QBS (для MinGW) твой проект будет примерно таким:

import qbs

CppApplication {
    name: "NanaTest"

    cpp.distributionIncludePaths: ["C:/Projects/c++/Nana/mingw-x64/include"]
    cpp.distributionLibraryPaths: ["C:/Projects/c++/Nana/mingw-x64/lib"]
    cpp.cxxLanguageVersion: "c++17"
    cpp.optimization: "fast"
    cpp.dynamicLibraries: ["nana", "gdi32", "comdlg32", "z", "pthread"]
    cpp.linkerFlags: ["-subsystem", "windows"]
    cpp.cxxFlags: ["-static"]

    files: ["main.cpp"]
} 
→ Ссылка
Автор решения: Denis Shienkov

Сделать как-то так:

...
    Properties {
        condition: qbs.architecture === "x86"
        cpp.distributionIncludePaths: ["C:/path/to/32/bit/include"]
        cpp.distributionLibraryPaths: ["C:/path/to/32/bit/lib"]
    }
...
    Properties {
        condition: qbs.architecture === "x86_64"
        cpp.distributionIncludePaths: ["C:/path/to/64/bit/include"]
        cpp.distributionLibraryPaths: ["C:/path/to/64/bit/lib"]
    }
...
→ Ссылка