• 19875阅读
  • 6回复

【原创】生成qt的vcproj文件及命令行编译(qt for VC 第二章) [复制链接]

上一主题 下一主题
离线fanyu
 
只看楼主 倒序阅读 楼主  发表于: 2006-01-04
注:在进行下面的操作前假设你的qt开源版和VC 2003.net都已正常安装,且相关的环境变量也配置正确。

1)先下载vcbuild的VC插件。
注:附件里提供下载。

2)解压缩到“<Visual Studio® .NET 2003 install directory>\Common7\IDE“目录内。

3)进入命令行,键入qmake,生成相应的.pro文件

4)键入qmake -tp vc -o callform.vcproj callform.pro
会出现警告信息
WARNING: Unable to generate output for: callform.vcproj [TEMPLATE vcapp]
WARNING: Unable to generate output for: callform.vcproj [TEMPLATE vcapp]
不用管理它。
注:生成的vcporj文件可以正常被Visual Stdio 2003.net的IDE所识别加载。

5)运行vcbuild,进行命令行下的程序编译
提示信息如下:
Microsoft (R) Visual C++ Project Builder - Command Line Version 7.10.3088.
Copyright (C) Microsoft Corp 1993-2004. All rights reserved.

------- 已启动生成: 项目: callform,配置: Debug Win32 -------
正在编译...
main.cpp
正在链接...

生成日志保存在“file://e:\QTCode\callform\debug\\BuildLog.htm”中
callform - 0 错误,0 警告

---------------------------- 完成 ---------------------------

生成成功

------- 已启动生成: 项目: callform,配置: Release Win32 -------
正在编译...
main.cpp
正在链接...

生成日志保存在“file://e:\QTCode\callform\release\\BuildLog.htm”中
callform - 0 错误,0 警告

---------------------------- 完成 ---------------------------

生成成功


注:vcbuild这个工具,也适用于其它的VC项目的命令行编译,且它的提示与IDE下的输入窗口的内容一致。
[ 此贴被fanyu在2006-01-04 14:28重新编辑 ]
附件: vcbuild.zip (45 K) 下载次数:532
离线zh_qk
只看该作者 1楼 发表于: 2006-04-15
你好,按你方法出现下面错误

D:\test>qmake -tp vc -o test.vcproj test.pro
WARNING: Unable to generate output for: D:/test/test.vcproj.Debug [TEMPLATE vcap
p]
WARNING: Unable to generate output for: D:/test/test.vcproj.Release [TEMPLATE vc
app]

下面是我生成的test.vcproj
#############################################################################
# Makefile for building: test
# Generated by qmake (2.00a) (Qt 4.1.2) on: ??? ?? 15 21:15:13 2006
# Project: test.pro
# Template: vcapp
# Command: qmake -tp vc -win32 -o test.vcproj test.pro
#############################################################################

first: debug
install: debug-install
uninstall: debug-uninstall
MAKEFILE     = test.vcproj
QMAKE       = qmake
DEL_FILE     = del
CHK_DIR_EXISTS= if not exist
MKDIR       = mkdir
COPY       = copy /y
COPY_FILE   = $(COPY)
COPY_DIR     = xcopy /s /q /y /i
INSTALL_FILE = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE     = del
SYMLINK     =
DEL_DIR     = rmdir
MOVE       = move
CHK_DIR_EXISTS= if not exist
MKDIR       = mkdir
SUBTARGETS   = \
    debug \
    release

debug: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
  $(MAKE) -f $(MAKEFILE).Debug uninstall
release: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release
release-make_first: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
  $(MAKE) -f $(MAKEFILE).Release uninstall

test.vcproj: test.pro C:/qt/lib/4.1.2/mkspecs/default\qmake.conf C:/qt/lib/4.1.2/mkspecs/qconfig.pri \
    C:\qt\lib\4.1.2\mkspecs\features\qt_config.prf \
    C:\qt\lib\4.1.2\mkspecs\features\exclusive_builds.prf \
    C:\qt\lib\4.1.2\mkspecs\features\default_pre.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\default_pre.prf \
    C:\qt\lib\4.1.2\mkspecs\features\debug.prf \
    C:\qt\lib\4.1.2\mkspecs\features\debug_and_release.prf \
    C:\qt\lib\4.1.2\mkspecs\features\default_post.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\rtti.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\exceptions.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\stl.prf \
    C:\qt\lib\4.1.2\mkspecs\features\shared.prf \
    C:\qt\lib\4.1.2\mkspecs\features\warn_on.prf \
    C:\qt\lib\4.1.2\mkspecs\features\qt.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\thread.prf \
    C:\qt\lib\4.1.2\mkspecs\features\moc.prf \
    C:\qt\lib\4.1.2\mkspecs\features\win32\windows.prf \
    C:\qt\lib\4.1.2\mkspecs\features\resources.prf \
    C:\qt\lib\4.1.2\mkspecs\features\uic.prf \
    C:\qt\lib\4.1.2\lib\qtmaind.prl
  $(QMAKE) -tp vc -win32 -o test.vcproj test.pro
C:/qt/lib/4.1.2/mkspecs/qconfig.pri:
C:\qt\lib\4.1.2\mkspecs\features\qt_config.prf:
C:\qt\lib\4.1.2\mkspecs\features\exclusive_builds.prf:
C:\qt\lib\4.1.2\mkspecs\features\default_pre.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\default_pre.prf:
C:\qt\lib\4.1.2\mkspecs\features\debug.prf:
C:\qt\lib\4.1.2\mkspecs\features\debug_and_release.prf:
C:\qt\lib\4.1.2\mkspecs\features\default_post.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\rtti.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\exceptions.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\stl.prf:
C:\qt\lib\4.1.2\mkspecs\features\shared.prf:
C:\qt\lib\4.1.2\mkspecs\features\warn_on.prf:
C:\qt\lib\4.1.2\mkspecs\features\qt.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\thread.prf:
C:\qt\lib\4.1.2\mkspecs\features\moc.prf:
C:\qt\lib\4.1.2\mkspecs\features\win32\windows.prf:
C:\qt\lib\4.1.2\mkspecs\features\resources.prf:
C:\qt\lib\4.1.2\mkspecs\features\uic.prf:
C:\qt\lib\4.1.2\lib\qtmaind.prl:
qmake: qmake_all FORCE
  @$(QMAKE) -tp vc -win32 -o test.vcproj test.pro

qmake_all: FORCE

make_default: debug-make_default release-make_default FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
distclean: debug-distclean release-distclean FORCE
  -$(DEL_FILE) test.vcproj

debug-mocclean: $(MAKEFILE).Debug
  $(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean: $(MAKEFILE).Release
  $(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean

debug-mocables: $(MAKEFILE).Debug
  $(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables: $(MAKEFILE).Release
  $(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
FORCE:

$(MAKEFILE).Debug: test.vcproj
$(MAKEFILE).Release: test.vcproj



D:\test>vcbuild
Microsoft (R) Visual C++ Project Builder - Command Line Version 7.10.3088.1
Copyright (C) Microsoft Corp 1993-2004. All rights reserved.

Error: project file 'test.vcproj' was not found or not a valid project file.
离线zh_qk
只看该作者 2楼 发表于: 2006-04-15
呵呵,我找到错误了

把这一句   qmake -tp vc -o callform.vcproj callform.pro
换成     qmake -t vcapp -o callform.vcproj callform.pro


还是要谢谢总版主
离线dotnetjack
只看该作者 3楼 发表于: 2006-04-29
well done
离线rocky
只看该作者 4楼 发表于: 2006-08-14
按照该方法生成的vcproj无论如何也打不开...真让人郁闷。。。。。。
离线thinke365

只看该作者 5楼 发表于: 2009-02-10
用这种方法是可以生成vc项目文件,也可以通过nmake编译,但是不能导入vc,这是怎么回事?
本人用的是vs 2005
离线haowensxsd
只看该作者 6楼 发表于: 2009-07-29
你好,我用这个命令为什么只生成.rc文件,为什么不能生成.vcproj,总有警告
快速回复
限100 字节
 
上一个 下一个