Ну, раз уж решил пойти третьим путём (
Как подкючить библиотеку [muParser] к Qt? ) — лови проект.
Как вы видите, в большинстве случаев проект библиотеки строится тривиально: ищем, что надо включить в DEFINES, и затыкаем предупреждения.
CONFIG -= qt
TEMPLATE = lib
CONFIG += staticlib
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS MUPARSER_STATIC
QMAKE_CXXFLAGS += -Wno-deprecated-copy -Wno-cast-function-type
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
src/muParser.cpp \
src/muParserBase.cpp \
src/muParserBytecode.cpp \
src/muParserCallback.cpp \
src/muParserError.cpp \
src/muParserInt.cpp \
src/muParserTest.cpp \
src/muParserTokenReader.cpp
HEADERS +=
INCLUDEPATH += include
(
ВНИМАНИЕ! Я использую новейший MinGW из MSYS, он на две версии новее, и, возможно, некоторые из предупреждений, которые я заглушил, не нужны.)
В программе придётся указать
DEFINES += MUPARSER_STATIC
INCLUDEPATH += ../MuParser/include
LIBS += -L$$PWD -lmuparser
Если что, в MSYS тоже есть MuParser, хотя он у меня не установлен.
pacboy sync muparser:i muparser:x