在VS20XX之后项目管理使用解决方案(solution)管理一个大的开发工程中多个项目(Project)。

以下目录配置与工程名称无关,适用于一般的工程组织过程。
对于一般的生成可执行程序的工程,使用下面的方法:
============================================

1-在*.sln所在的目录下新建如下的目录组织:
lib
include
bin\release
bin\debug
temp\link
temp\compile
2- All configuration下配置:
Configuration Properties\General
output Directory
$(SolutionDir)temp\link\$(ProjectName)\$(Configuration)\
Intermediate Directory
$(SolutionDir)temp\compile\$(ProjectName)\$(Configuration)\
3-编译连接完成后,将可执行程序拷贝到响应的bin的对应$(Configuration)之下,($(Configuration)一般是指debug和Release),在command的All之下配置:
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
4-选定$(SolutionDir)bin\$(Configuration)\;作为工作目录:
在All Configuration的Debugging之下:
Command下填写:
$(SolutionDir)bin\$(Configuration)\$(TargetFileName)
Working Directory下填写:
$(SolutionDir)bin\$(Configuration)\
 
对于一般的生成动态链接库dll文件的工程,使用下面的方法:
1- 新建solution,得到solution目录;
在solution目录下有如下文件夹组织:
lib                           存放第三方库和本地项目编译完成后的库,debug和release的lib全都放在这里。
include                   存放与第三方库和本地库相一致的库的头文件。
bin\release             存放编译完成后的可执行程序的release版本
bin\debug              存放编译完成后的可执行程序的debug版本
temp\link               临时链接目录
temp\compile        临时编译目录
*.sln,*.suo             解决方案文件文件
project1,project2,projectN  各个工程文件
经过上面的目录创建后,开始进行项目目录的配置工作。
务必注意所有下划线全都必须是反斜杠"\",如果在命令行中正反斜杠混合使用,命令会运行失败。
$(SolutionDir)的结尾是包含有一个反斜杠"\"的,请在拼接命令是注意。
以下目录配置与工程名称无关,适用于一般的工程组织过程。
在*.sln所在的目录下新建如下的目录组织:
lib
include
bin\release
bin\debug
temp\link
temp\compile
 
2- All configuration下配置:
Configuration Properties\General
output Directory
$(SolutionDir)temp\link\$(ProjectName)\$(Configuration)\
Intermediate Directory
$(SolutionDir)temp\compile\$(ProjectName)\$(Configuration)\
 
3- Linker\Advanced下配置Import Library
***在release选项中***
$(TargetDir)$(TargetName)_x64.lib 或者面向x86的代码使用
$(TargetDir)$(TargetName)_x86.lib
***在debug选项中***
$(TargetDir)$(TargetName)_x64_d.lib 或者面向x86的代码使用
$(TargetDir)$(TargetName)_x86_d.lib
4- 在完成编译之后,需要将必要的库转存到合适的目录下:
Build Events\Post-Build Event中,
 
***在release选项中***
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
copy $(TargetDir)$(TargetName)_x64.lib $(SolutionDir)lib\;
copy $(ProjectDir)$(TargetName).h $(SolutionDir)include\;
注意分号!!!注意下划线!!!注意库文件的函数声明和导出的类声明务必放在与工程名称相同的头文件中。
 
***在debug选项中***
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
copy $(TargetDir)$(TargetName)_x64_d.lib $(SolutionDir)lib\;
copy $(ProjectDir)$(TargetName).h $(SolutionDir)include\;
注意分号!!!注意下划线!!!注意库文件的函数声明和导出的类声明务必放在与工程名称相同的头文件中。

VS20xx下项目开发目录管理方法的更多相关文章

  1. PyCharm Django项目开发的调试方法

    下面介绍两种PyCharm Django项目开发的调试方法: 方法一: 1. 使用PyCharm 自带的django项目Debug工具, 当然前提条件是django项目环境已经搭建好了. 2. 在代码 ...

  2. python flask构建小程序订餐系统--centos下项目开发环境的搭建

    1.项目开发环境的搭建(Linux环境) 1)软件的安装 我们搭建整个项目的过程中,我们需要用到下面的一些软件,但是这些软件的安装过程我们在这里不用说明.(因为windows软件的安装比较的简单,类似 ...

  3. Android 编程之入门开发目录管理器开发抽屉与文件分类-4

    在此目录管理APP里,我们能够尝试引用一些新的元素.在这里我给打击介绍一个叫抽屉的布局,QQ就用到了抽屉布局.不 过他们又在原有的基础上自己开发了新的抽屉布局.而且还蛮高大上的,顺便说说分类管理.这些 ...

  4. Vue项目开发目录结构

    最近做一些CI+Vue开发的简单项目,由于刚开始一直从事后端,对Vue了解不是很多,fork了团队的项目代码发现项目的文件夹很多,一时间有些懵,上网上参考了部分资料,博客园中的放晴的天空与狮子爱吃草两 ...

  5. lua在linxu和windows系统下的遍历目录的方法

    在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  ...

  6. Android 编程之入门开发目录管理器开发文件事件操作-2

    上一篇博客,我们已经得到了目录列表,我们须要对文件列表子项加入事件,比方我们点击的是文件.就运行 打开操作,点击的是目录运行打开目录操作,遍历文件清单.以此类推直到最后一个是文件位置,关于文件 与目录 ...

  7. php 在windows下配置虚拟目录的方法

    1.先找到apache的配置文件 httpd.conf 找如如下代码: # Virtual hosts#Include conf/extra/httpd-vhosts.conf 把# Include ...

  8. linux下项目开发加载动态库:ldconfig与 /etc/ld.so.conf

    场景:自己开发一个项目,程序里包含一些自定义动态库.运行,需要加载这些动态库. 假如这些库在/pro/output/lib/下面,可执行程序在/pro/output/bin/下面. 那么,我们需要: ...

  9. python学习之-项目开发目录规范

    软件目录结构规范有什么好处: 通过规范化,能够更好的控制软件结构,让程序具有更高的可读性. 项目目录组织结构如下: Foo/ # 项目名 --bin/ # 可执行文件目录 --foo # 可执行程序 ...

随机推荐

  1. Hibernate逍遥游记-第12章 映射值类型集合-001映射set(<element>)

    1. 2. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate ...

  2. PCB电路板上防潮绝缘抗腐蚀的三防漆

    三防漆(Conformal Coating)是一种涂在电路板上以形成保护膜的方法,这层保护膜通常仅是薄薄的一层(约30-210µm),它可以用来加强电子产品的防潮.防污.防尘.防化学污染的能力,也可以 ...

  3. import java.util.Scanner;

    一.扫描控制台输入     当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,,,,,,,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象 ...

  4. 致诸位新程序员:来自Chuck Jazdzewski慈父般的忠告

    记住这几句话,学无止境.(Never stop learning.)沟通至关重要.(Communication is critical.)履行承诺,胜过交付.(Under promise, over ...

  5. C#基础(WinForm窗体的单例模式,避免窗体被实例化多次)

    在MDI窗体中使用单例模式可以有效的避免同个窗体被实例化多次 [csharp] view plain copy   //==============字窗体的修改================  // ...

  6. Resource is out of sync with the file system的解决办法

    在eclipse中,启动server时报此错,是因为文件系统不同步造成的,解决方法有两个: (1)选中工程,右键,选择F5(手动刷新): (2)Window->Preferences->G ...

  7. POJ2891——Strange Way to Express Integers(模线性方程组)

    Strange Way to Express Integers DescriptionElina is reading a book written by Rujia Liu, which intro ...

  8. 想要风投被你的融资 PPT 打动吗?别忘了你其实就是在想方设法卖出自己公司的部分股权

      硅谷,一个常常见诸于报端,看着很熟悉,但是又不那么被人所了解的未及之地.它不是一个严格限定的地理位置,一般来说是指旧金山和湾区,其中湾区又分为东湾(East Bay)和南湾(South Bay), ...

  9. DirectX 3D 之C#开发

    C#下进行directX的3D开发,一个旋转的4棱锥的例子. 建议看两个文档<Managed DirectX 9图形和游戏编程简略中文文档>和<Managed DirectX 9 S ...

  10. 用代码编辑数据库T-SQL语句

    1.创建表 create table Car( Code varchar(50) primary key, Name varchar(50), Time date, Price float, Bran ...