Witam,
próbuje skompilować plik Qt używając wiersza poleceń CMD.
1)Mam sobie zwykły plik *.cpp, który zawiera funkcje int main(int argc, char **argv) . Używając komendy cd wybieram folder gdzie jest plik cpp. Następnie wywołuje komendę qmake.exe -projekt [folderQt]/5.6/mingw49_32/bin/qmake.exe -projekt . Efektem tej sekwencji jest powstanie pliku .pro czyli wszystko gra.
2)Kolejna komenda to qmake.exe plik.pro -r -spec win32-g++[folderQt]/5.6/mingw49_32/bin/qmake.exe plik.pro -r -spec win32-g++ . Rezultatem tej komendy jest powstanie plików Makefile Makefile.Release Makefile.Debug i folderów debug, release czyli wszystko gra.
3)Ostatnią komendą jest make.exe -f Makefile.release [folderQt]/Tools/mingw492_32/bin/mingw -f Makefile.release. Efektem tej akcji jest wyswietlony błąd:
Zawartość pliku Makefile.release
#############################################################################
# Makefile for building: test
# Generated by qmake (3.0) (Qt 5.6.0)
# Project: test.pro
# Template: app
#############################################################################
MAKEFILE = Makefile.Release
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DUNICODE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
CFLAGS = -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra $(DEFINES)
CXXFLAGS = -pipe -fno-keep-inline-dllexport -O2 -std=gnu++0x -frtti -Wall -Wextra -fexceptions -mthreads $(DEFINES)
INCPATH = -I. -I..\..\..\..\Qt\Tools\mingw492_32\bin -I-LC:\Qt\Tools\mingw492_32\lib -I. -I..\..\..\..\Qt\5.6\mingw49_32\include -I..\..\..\..\Qt\5.6\mingw49_32\include\QtGui -I..\..\..\..\Qt\5.6\mingw49_32\include\QtANGLE -I..\..\..\..\Qt\5.6\mingw49_32\include\QtCore -Irelease -I..\..\..\..\Qt\5.6\mingw49_32\mkspecs\win32-g++
LINKER = g++
LFLAGS = -Wl,-s -Wl,-subsystem,windows -mthreads
LIBS = -lmingw32 -LC:\Qt\5.6\mingw49_32\lib C:\Qt\5.6\mingw49_32\lib\libqtmain.a -LC:\utils\postgresql\pgsql\lib -LC:\utils\my_sql\my_sql\lib -lshell32 C:\Qt\5.6\mingw49_32\lib\libQt5Gui.a C:\Qt\5.6\mingw49_32\lib\libQt5Core.a
QMAKE = C:\Qt\5.6\mingw49_32\bin\qmake.exe
IDC = idc
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = copy /y
SED = $(QMAKE) -install sed
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
DEL_FILE = del
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
####### Output directory
OBJECTS_DIR = release
####### Files
SOURCES = main.cpp
OBJECTS = release/main.o
DIST = main.cpp
QMAKE_TARGET = test
DESTDIR = release\ #avoid trailing-slash linebreak
TARGET = test.exe
DESTDIR_TARGET = release\test.exe
####### Build rules
first: all
all: Makefile.Release $(DESTDIR_TARGET)
$(DESTDIR_TARGET): $(OBJECTS)
$(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(LIBS)
qmake: FORCE
@$(QMAKE) "INCLUDEPATH+=C:\Qt\Tools\mingw492_32\bin" "INCLUDEPATH+=-LC:\Qt\Tools\mingw492_32\lib" -o Makefile.Release test.pro
qmake_all: FORCE
dist:
$(ZIP) test.zip $(SOURCES) $(DIST) test.pro ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\spec_pre.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\qdevice.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\device_config.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\common\angle.conf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\qconfig.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dcore.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dinput.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dlogic.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquick.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3drender.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_3drender_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axbase.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axbase_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axcontainer.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axserver.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_axserver_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_bluetooth.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_bootstrap_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_clucene_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_concurrent.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_core.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_core_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_dbus.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_dbus_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_designer.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_designer_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_gui.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_gui_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_help.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_help_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_labscontrols_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_labstemplates_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_location.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_location_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_multimedia.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_network.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_network_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_nfc.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_nfc_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_opengl.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_opengl_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_openglextensions.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_openglextensions_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_platformsupport_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_positioning.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_positioning_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_printsupport.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qml.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qml_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qmldevtools_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qmltest.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_quick.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_quick_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_script.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_script_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_scripttools.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_scripttools_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_sensors.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_sensors_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_serialbus.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_serialport.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_serialport_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_sql.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_sql_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_svg.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_svg_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_testlib.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_testlib_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_uiplugin.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_uitools.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_uitools_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_webchannel.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_websockets.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_websockets_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_widgets.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_widgets_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_winextras.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_winextras_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_xml.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_xml_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_xmlpatterns.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\modules\qt_lib_xmlpatterns_private.pri ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\qt_config.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\win32\qt_config.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\spec_post.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\default_pre.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\resolve_config.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\exclusive_builds_post.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\default_post.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\build_pass.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\precompile_header.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\warn_on.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\qt.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\resources.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\moc.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\win32\opengl.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\testcase_targets.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\exceptions.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\yacc.prf ..\..\..\..\Qt\5.6\mingw49_32\mkspecs\features\lex.prf test.pro ..\..\..\..\Qt\5.6\mingw49_32\lib\qtmain.prl ..\..\..\..\Qt\5.6\mingw49_32\lib\Qt5Gui.prl ..\..\..\..\Qt\5.6\mingw49_32\lib\Qt5Core.prl NO_PCH_SOURCES RESOURCES HEADERS SOURCES OBJECTIVE_SOURCES YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
-$(DEL_FILE) release\main.o
distclean: clean
-$(DEL_FILE) $(DESTDIR_TARGET)
-$(DEL_FILE) Makefile.Release
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first
compiler_no_pch_compiler_make_all:
compiler_no_pch_compiler_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean:
####### Compile
release/main.o: main.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\main.o main.cpp
####### Install
install: FORCE
uninstall: FORCE
FORCE:
Podsumowując, wyświetla się błąd podczas użycia pliku make.exe. Próbowałem dodać do .pro ścieżkę folderów i bibliotek(INCLUDEPATH+=... , INCLUDELIBS+= -L...) zestawu mingw492_32. Edytowałem plik Makefile.Release tzn dodawałem ścieżki do sterownika mingw492_32 (np do g++). Jak używam IDE QtCreator to środowisko projektowe wykonuje te same polecenia co w CMD i aplikacja się kompiluje. Na moje coś jest nie tak z linkerem
Wie ktoś może o co tu biega.Z góry dziękuje za pomoc. Pozdrawiam