`
qimo601
  • 浏览: 3445014 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

VS2008+Qt 项目目录

    博客分类:
  • Qt
阅读更多

 

1、项目开发环境:VS2008,QT4.7

2、项目的目录:

1PETCT是解决方案名字

2Bin目录存放所有动态链接库和执行档,包括自己的产出和第三方库,区分ReleaseDebug两个版本。另外,程序运行过程中需要外部的数据文件和启动时需要的配置文件等等都可放于该目录

3ConsoleSubsytem是应用项目目录

4Include用于存放第三方库的头文件

5Lib目录用于存放导入库或者静态库(包括第三方库和自己的项目)

6Temp用于存放临时生成文件,其中Compile存放编译器编译时生成的obj文件,Link存放链接器的输出文件。

7TestDll是动态链接库项目目录,该项目会生成相关的Dll文件和Lib导入库文件

 

上面目录结构清晰,一面了然,当我们的程序需要制作安装包或者要打包源码

发布的时候,它能够使得我们生活变得更容易^_^

制作安装包时我们只需将“/PETCT/Bin/Release/”目录下的所有文件打包。

发布和转移源码的时候我们可以打包除了Temp目录以外“/GMA/”下面的所有文件和目录(如果不需要执行档,也可不包括Bin)。

我们的需求是明确的,可是VC 2008并不会自动为我们做好上面所有的事情。不过我们并不需要编写复杂的编译脚本(makefile),只需要简单的修改项目的缺省设置即可。

我们需要VC为我们做的事情包括:

1)使用“/PETCT/Temp/Compile/”作为项目编译时使用的中间目录

2)使用“/PETCT/Temp/Link/”作为项目链接的输出目录

3)当项目是应用程序时,在构建结束后拷贝执行文件到“/PETCT/Bin/Release/”“/PETCT/Bin/Debug/”,当项目是动态链接库时,除了拷贝dllBin,还拷贝导入库到“/PETCT/Lib/”

4)当项目是应用程序时,调试时运行“/PETCTBin/Debug/”“/PETCT/Bin/Release/”下面的执行文件,并以“/PETCTBin/Debug/”“/PETCT/Bin/Release/”为工作目录

首先看一下项目设置中可以使用的宏,常用的有:

 

ConfigurationName

配置名字,通常是Debug或者Release

IntDir

编译器使用的中间目录,产出obj文件

OutDir

链接器使用的输出目录

ProjectDir

项目目录

ProjectName

项目名字

SolutionDir

解决方案目录

TargetDir

目标输出文件所在的目录

TargetExt

目标输出的扩展名

TargetFileName

目标输出文件名,包括扩展名

TargetName

目标输出名,不包括扩展名

TargetPath

目标输出文件的全路径名

 

3、详细配置过程

         首先设置DLL项目TestDll

1使用“/PETCT/Temp/Compile/”作为项目编译时使用的中间目录

2)使用“/PETCT/Temp/Link/”作为项目链接的输出目录

注意高亮的部分,首先将配置改成All Configuration(全部配置),这样可以让我们同时修改DebugRelease的部分;

Output Directory(输出目录,链接器)栏位填入:

$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)

Intermediate Directory(中间目录,编译器)栏位填入:

$(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName)

步骤1),步骤2),见下图。

3)构建结束后拷贝动态链接库到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”,拷贝导入库到“/GMA/Lib/

我们通常都会在Debug版本的输出库后面加上字母“d”以表示这是Debug版本,在Debug配置下,修改Import Library栏位,见下图

VC可以让我们设置构建前后执行的脚本程序,所以为了完成3,我们需要写构建后执行的脚本:

Command Line中填入,Debug配置下:

echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y

echo D | xcopy "$(TargetDir)$(TargetName)d.lib" "$(SolutionDir)Lib" /y

Release配置下:

echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y

echo D | xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib" /y

之所以要分别设置是因为VC没有表示导入库的宏名字 -_-P

OK,到此为止,你就可以编译TestDll项目试试是不是一切正常了,不过请确认拷贝的目标目录事先建立好。

 

然后我们设置应用项目ConsoleSubsytem

1)使用“/PETCT/Temp/Compile/”作为项目编译时使用的中间目录

2)使用“/ PETCT /Temp/Link/”作为项目链接的输出目录

首先将配置改成All Configuration(全部配置),这样可以让我们同时修改DebugRelease的部分;

Output Directory(输出目录,链接器)栏位填入:

$(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName)

Intermediate Directory(中间目录,编译器)栏位填入:

$(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName)

见下图

3)构建结束后拷贝执行文件到“/ConsoleSubsytem/Bin/Release/”或“/ConsoleSubsytem/Bin/Debug/

Command Line中填入,All配置下:

echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y

 

见下图

4)调试时运行“/PETCT/Bin/Debug/”或“/PETCT/Bin/Release/”下面的执行文件,并以“/PETCT/Bin/Debug/”或“/PETCT/Bin/Release/”为工作目录。见下图

Debugging下,所有配置模式:

Command栏位填入:$(SolutionDir)Bin\$(ConfigurationName)\$(TargetFileName)

Working Directory栏位填入:$(SolutionDir)Bin\$(ConfigurationName)

这样就大功告成了,现在你就可以编译该执行程序并进行调试。

 

我稍微总结了一下网络上的关于VC项目文件目录的配置,主要结合自己现在项目要用的Qt。


网上值得推介的两篇文章有:

1、 Visual C++ 设置适合自己的解决方案目录结构 http://blog.csdn.net/akof1314/article/details/7190822

这篇新写的,也改正了网上出现的bug命令。很适合作参考来配置项目。

2、VC 2005 解决方案的目录结构设置和管理 http://blog.csdn.net/rogeryi/article/details/1481923

这个写的比较细,适合弄懂这样配置的原因

 

分享到:
评论

相关推荐

    QJson使用VS2010+QT4.8编译

    使用VS2010和QT4.8编译的QJson库文件,包含dll文件还有lib文件,Release的为qjson.lib qjson.dll, Debug版本为qjsond.lib qjsond.dll,include下为包含文件。添加lib和include到工程下,dll文件和exe放在同级目录下面...

    VS2008使用Qt

    ### 在VS2008中使用Qt编程 #### 一、安装所需软件 为了在Visual Studio 2008中使用Qt进行编程,首先需要安装以下三个必要的软件: 1. **下载并安装Visual Studio 2008**:这是基础的开发环境。 2. **下载并安装Qt...

    VS2008下安装配置QT

    2. **QT for VS2008** - 针对VS2008的QT发行版,可以在QT项目官方档案库找到,例如:`qt-win-opensource-4.8.0-vs2008`。 3. **QT Visual Studio Add-in** - 这是用于VS2008的插件,使得在VS环境中无缝集成QT开发变...

    VS2008集成QT4.7环境搭建

    - 打开VS2008,创建新项目时应能看到QT相关的模板,即可开始QT程序开发。 通过以上步骤,开发者可以在VS2008环境中无缝地进行QT4.7.2应用程序的编写、编译和调试。这个集成环境让开发者能够利用VS2008的强大功能,...

    Qt4.6与VS2008的集成开发环境的安装配置.docx

    同时,需要在VS2008的项目设置中添加Qt库的lib路径,这可以在工具>选项>项目和解决方案>VC++目录中完成。 如果已经安装了Visual Assist X,还需要在它的设置中配置Qt的头文件路径,以便获得代码提示功能。在...

    cuda在vs2008上的配置,QT在VS2008上的配置,以及两者在vs2008共同编译环境的配置

    - 在VS2008中,打开QT项目的属性页,配置QT版本、MOC(Meta Object Compiler)和UIC(User Interface Compiler)路径,以及所需的QT模块。 最后,配置CUDA和QT的共同编译环境: 1. 集成CUDA和QT: - 创建一个...

    Qt+Vs2008+opencv实现 图像读取,显示,处理。

    在VS2008中创建一个新的Qt项目,选择“Qt GUI Application”模板。接着,在项目设置中,确保Qt版本与你安装的版本匹配,并链接到OpenCV库。在项目的"属性"中,添加OpenCV的头文件目录和库目录,这样编译器就能找到...

    qt for windows版本下编译qtdbus模块

    接下来需要生成并安装位于 `D:\Qt\Qt5.2.0_win\5.2.0\Src\qttools\src\qdbus` 及 `D:\Qt\Qt5.2.0_win\5.2.0\Src\qtbase\src\tools` 目录下的工具项目。按照步骤 B 的方式进行编译与安装,最终会在 `D:\Qt\Qt5.2.0_...

    vs2008下配置Qt环境

    集成Qt与VS2008的下一步是安装Qt.VisualStudioIntegration.exe,它提供了VS2008内对Qt项目的支持。在安装完毕后,打开VS2008,选择工具->选项->Qt->Builds,添加Qt的路径和版本名称。在VS2008的项目和解决方案设置中...

    QT VS2008 串口

    在进行QT VS2008环境下加载串口qextserialport的操作时,首先需要确保你已经安装了Qt 4.8。接下来,你需要进行以下一系列具体操作步骤来完成qextserialport的安装和配置。 1. 下载并解压QextSerialPort的安装包。...

    VTK安装方法(VS2008,QT)

    - 在VS中创建新的QT项目,根据需要进行设置。 #### 三、VTK的编译与配置 1. **准备工作**: - 下载VTK源代码和数据文件(vtk和vtkdata)。 - 创建一个包含vtk、vtkdata和bin三个子文件夹的根目录(例如命名为...

    OSG+Qt+Ladybug在VS2008安装过程与设置.docx

    本文将详细介绍如何在Visual Studio 2008(VS2008)环境下,结合Qt和Ladybug库,完成OSG的安装、配置以及项目的创建。 首先,安装所需的工具和库: 1. 获取OSG库:下载并解压OpenSceneGraph-2.8.2.zip。 2. 安装...

    OSG+Qt+Ladybug在VS2008安装过程与设置.pdf

    《OSG+Qt+Ladybug在VS2008安装过程与设置》 在计算机图形学领域,OpenSceneGraph(OSG)是一个强大的开源3D图形库,它提供了丰富的功能来构建复杂的三维应用。Qt则是一款跨平台的开发框架,常用于创建用户界面。而...

    基于QT&VS2008的WinCE开发

    这个过程主要是为每个模块及例子,演示代码,将QT工程文件转换成VS可编译的项目工程文件,以便VS的编译器nmake能够顺利编译QT。然后,需要设置临时的环境变量,包括INCLUDE、LIB和PATH。最后,使用nmake命令编译QT库...

    Qt集成到VS2008

    VS2008中找不到Qt项目模板或者Qt选项不可用。 **解决方案:** - 检查qt-vs-addin是否已正确安装并激活。 - 在VS2008的“Tools”->“Options”->“Projects and Solutions”->“Qt Options”中检查Qt版本是否已正确...

    Qt VS2008 串口编程

    通常,这涉及到将Qt的include和lib目录添加到系统路径,以及配置项目属性页,将Qt库包含进来。 接下来,我们创建一个新的C++项目,在项目中引入Qt的串口模块`QT += serialport`。这将在构建时链接必要的Qt串口库。...

Global site tag (gtag.js) - Google Analytics