我只是在我的slax框上安裝qt, 我嘗試使用qmake編寫和編譯。Qmake不包括qt的庫路徑
但問題是qmake不會寫'Makefile'來包含-Lqt-mt或-Lqt。 我必須手動給它,否則有沒有解決的鏈接。我可以爲此做什麼 ?對此的任何解決方法?
這是由QMAKE的 'Makefile' 文件輸出。
#############################################################################
# Makefile for building: hello
# Generated by qmake (2.01a) (Qt 4.5.3) on: Tue Feb 2 04:04:03 2010
# Project: hello_world.pro
# Template: app
# Command: /usr/bin/qmake -unix -o Makefile hello_world.pro
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES =
CFLAGS = -pipe $(DEFINES)
CXXFLAGS = -pipe $(DEFINES)
INCPATH = -I/usr/lib/qt-3.3.8b/mkspecs/linux-g++ -I.
LINK = g++
LFLAGS =
LIBS = $(SUBLIBS)
AR = ar cqs
RANLIB =
QMAKE = /usr/bin/qmake
TAR = tar -cf
COMPRESS = gzip -9f
COPY = cp -f
SED = sed
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
INSTALL_FILE = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
INSTALL_PROGRAM = $(COPY_FILE)
DEL_FILE = rm -f
SYMLINK = ln -sf
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
####### Output directory
OBJECTS_DIR = ./
####### Files
SOURCES = hello_world.cpp
OBJECTS = hello_world.o
DIST = hello_world.pro
QMAKE_TARGET = hello
DESTDIR =
TARGET = hello
first: all
####### Implicit rules
.SUFFIXES: .o .c .cpp .cc .cxx .C
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "[email protected]" "$<"
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "[email protected]" "$<"
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "[email protected]" "$<"
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "[email protected]" "$<"
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o "[email protected]" "$<"
####### Build rules
all: Makefile $(TARGET)
$(TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
Makefile: hello_world.pro /usr/lib/qt-3.3.8b/mkspecs/linux-g++/qmake.conf
$(QMAKE) -unix -o Makefile hello_world.pro
qmake: FORCE
@$(QMAKE) -unix -o Makefile hello_world.pro
dist:
@$(CHK_DIR_EXISTS) .tmp/hello1.0.0 || $(MKDIR) .tmp/hello1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/hello1.0.0/ && (cd `dirname .tmp/hello1.0.0` && $(TAR) hello1.0.0.tar hello1.0.0 && $(COMPRESS) hello1.0.0.tar) && $(MOVE) `dirname .tmp/hello1.0.0`/hello1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/hello1.0.0
clean:compiler_clean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core
####### Sub-libraries
distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) Makefile
compiler_clean:
####### Compile
hello_world.o: hello_world.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o hello_world.o hello_world.cpp
####### Install
install: FORCE
uninstall: FORCE
FORCE:
這裏是我使用的.pro文件。
TEMPLATE=app
CONFIG+= qt warn_on release
HEADERS=
SOURCES=hello_world.cpp
TARGET=hello
我已經設置了$ QTDIR,我認爲一切都已到位。 我錯過了哪裏?爲什麼我必須手動給它?爲什麼qmake在第一個 的地方不起作用?
編輯: 有makefile中
LIBS = $(SUBLIBS)
我所做的是改變它,
LIBS = $(SUBLIBS) -lqt-mt
後,我改變了一切工作正常!問題是,爲什麼我不得不手動做這樣的事情呢?
FOR @Frank Osterfeld 我想我正在使用正確的'qmake',因爲,當我打了qmake --version,我確實得到了這個。
QMake version 2.01a
Using Qt version 4.5.3 in /usr/lib/qt/lib
--Thanks在advance--
什麼是命令的結果'QMAKE - 查詢? – UmNyobe
這是一個makefile,我會發布它。 –
你的項目文件是什麼樣的? –