我在windows下用的是mingw+qt4 4.5的版本
1、C++ GUI Programming with Qt 4, Second Edition 第一章的age程序,我在windows下编译出来age.exe如何才能在linux下运行??
难道需要在linxu下重新编译???
2、这个版本qmake似乎有问题,我用qmake生成的makefile文件中部分内容的路径总是c:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.5.0,我每次都重新修改的
3、makefile文件中有个不明白的地方,红色部分我的目录d:\Qt\2009.01\qt\lib下根本没有mingw32,和qtmain、QtGui4、QtCore4相关的只是
libQtCore4.a 、libQtGui4.a、QtGuid4.dll、QtCore4.dll
现在做以下操作
1)libQtCore4.a 、libQtGui4.a保持不变,把QtGuid4.dll、QtCore4.dll修改为QtGuid4_.dll、QtCore4_.dll,可以make成功
2)QtGuid4.dll、QtCore4.dll保持不变,把libQtCore4.a 、libQtGui4.a修改为libQtCore4_.a 、libQtGui4_.a,仍然可以make成功
3)如果libQtCore4.a 、libQtGui4.a、QtGuid4.dll、QtCore4.dll文件都修改了,才会报错说找不到QtGui4、QtCore4
到底这个链接的时候链接*.a文件还是*.dll文件啊?? *.a文件的文件名和指定的文件名又不一致,怎么能链接成功呢?? 请高人解答
/* makefile */
CC = gcc
CXX = g++
DEFINES = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
CFLAGS = -O2 -Wall $(DEFINES)
CXXFLAGS = -O2 -Wall -fno-exceptions -fno-rtti $(DEFINES)
INCPATH = -I"d:\Qt\2009.01\qt\include\QtCore" -I"d:\Qt\2009.01\qt\include\QtGui" -I"d:\Qt\2009.01\qt\include" -I"d:\Qt\2009.01\qt\include\ActiveQt" -I"release" -I"." -I"d:\Qt\2009.01\qt\mkspecs\win32-g++"
LINK = g++
LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows
LIBS = -L"d:\Qt\2009.01\qt\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
QMAKE = d:\Qt\2009.01\qt\bin\qmake.exe
IDC = d:\Qt\2009.01\qt\bin\idc.exe
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = copy /y
COPY_FILE = $(COPY)
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_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)