带有 Qt5 的 Netbeans:没有制定目标的规则

Netbeans with Qt5: No rule to make target

我正在从 NetBeans IDE 8.0.2.

编译 Qt5 项目

我不断收到此错误消息:

make -f nbproject/Makefile-Release_Win32.mk QMAKE=/usr/bin/qmake SUBPROJECTS= .build-conf
/usr/bin/qmake VPATH=. -spec win32-g++ -o qttmp-Release_Win32.mk nbproject/qt-Release_Win32.pro
mv -f qttmp-Release_Win32.mk nbproject/qt-Release_Win32.mk
"make" -f nbproject/qt-Release_Win32.mk dist/Release_Win32/MinGW-w32-Linux-x86/Application
make[1]: Entering directory '/home/sabo/workspace/project1'
make[1]: *** No rule to make target 'dist/Release_Win32/MinGW-w32-Linux-x86/Application'.  Stop.
make[1]: Leaving directory '/home/sabo/workspace/project1'
nbproject/Makefile-Release_Win32.mk:65: recipe for target '.build-conf' failed
make: *** [.build-conf] Error 2

在文件 Makefile-Release_Win32.mk 我有这个构建目标:

.build-conf: ${BUILD_SUBPROJECTS} nbproject/qt-${CND_CONF}.mk
"${MAKE}" -f nbproject/qt-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/Application

但是在文件 qt-Release_Win32.mk 我有其他目标:

...
DESTDIR_TARGET = dist/Release_Win32/MinGW-w32-Linux-x86/Application.exe
...
$(DESTDIR_TARGET):  $(OBJECTS) build/Release_Win32/MinGW-w32-Linux-x86/Application_resource_res.o
$(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS)  $(LIBS)

如何在自动生成的 qt-Release_Win32.mk 文件中修改 DESTDIR_TARGET?

什么在您的构建中充当 .pro 文件?该文件由 qmake 使用,因此您应该首先在那里进行更改,然后 运行 qmake,然后使用 jom 或 make 或任何使用 qmake 输出的方式构建。

QMAKE docs: how to customize MyApp.pro file:

DESTDIR

指定放置目标文件的位置。

例如:

DESTDIR = ../../lib

DESTDIR_TARGET

这个变量是由qmake内部设置的,它基本上是DESTDIR变量加上最后附加的TARGET变量。该变量的值一般由qmake或qmake.conf处理,很少需要修改。

作为修补程序:

在项目设置中: 将目标设置为 Application.exe

并添加Qt变量 TARGET=应用程序

工作正常。