在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. nslookup工具的使用方法

    配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了.不过在确认域名解释正常之前我们最好是测试一下所有的配置是否正常.许多人会简单地使用pi ...

  2. Servlet编写登录界面

    package com.mhb; import java.io.IOException;import java.io.PrintWriter; import javax.servlet.Servlet ...

  3. Retrofit分析-漂亮的解耦套路

    没耐心自己分析源码的同学,还可以参考Stay录制的视频版 Retrofit分析-漂亮的解耦套路(视频版) 万万没想到Retrofit会这么火,在没看源码之前,我简单的认为是因为它跟OkHttp同出一源 ...

  4. Haxe数据类型

    以下是Haxe里面的一些数据类型 基本类型 空特性 类 枚举 匿名结构 方法 动态 抽象 1. 基本类型Bool, Float, Int 2. 空特性由于Haxe可以被编译为各种不同的target,不 ...

  5. 经典K线组合图解 > 正文

    日K线波段中上下影线的箱体操作法(完整) http://video.sina.com.cn/v/b/130809461-2486130757.html!!经典K线组合图解 > 正文 http:/ ...

  6. 车牌识别LPR(八)-- 字符识别

    ​第八篇:字符识别 车牌定位.车牌倾斜校正.车牌字符分割都是为车牌字符识别做的前提工作,这些前提工作直接关系到车牌识别系统的性能.车牌字符识别是车牌识别系统的核心部分,车牌字符识别的准确率是衡量车牌识 ...

  7. Android 中Activity生命周期分析(二):从AActivity 到BActivity过程分析

    如果你没有动手去演示的话,你一定要去动手试试看,这个东西非学容易出错,面试中经常出现,好了,上代码: package com.king.review.base; import android.app. ...

  8. poj 2828 Buy Tickets (线段树)

    题目:http://poj.org/problem?id=2828 题意:有n个人插队,给定插队的先后顺序和插在哪个位置还有每个人的val,求插队结束后队伍各位置的val. 线段树里比较简单的题目了, ...

  9. bzoj1054: [HAOI2008]移动玩具

    hash+bfs:要注意特殊情况.(似乎连sort.lower_bound都不用数据小直接判重了... #include<cstdio> #include<cstring> # ...

  10. VB程序逆向反汇编常见的函数

    VB程序逆向常用的函数 1) 数据类型转换: a) __vbaI2Str    将一个字符串转为8 位(1个字节)的数值形式(范围在 0 至 255 之间) 或2 个字节的数值形式(范围在 -32,7 ...