zoukankan      html  css  js  c++  java
  • VS20xx下项目开发目录管理方法

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

    以下目录配置与工程名称无关,适用于一般的工程组织过程。
    对于一般的生成可执行程序的工程,使用下面的方法:
    ============================================
    1-在*.sln所在的目录下新建如下的目录组织:
    lib
    include
    bin elease
    bindebug
    templink
    tempcompile
    2- All configuration下配置:
    Configuration PropertiesGeneral
    output Directory
    $(SolutionDir)templink$(ProjectName)$(Configuration)
    Intermediate Directory
    $(SolutionDir)tempcompile$(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 elease             存放编译完成后的可执行程序的release版本
    bindebug              存放编译完成后的可执行程序的debug版本
    templink               临时链接目录
    tempcompile        临时编译目录
    *.sln,*.suo             解决方案文件文件
    project1,project2,projectN  各个工程文件
    经过上面的目录创建后,开始进行项目目录的配置工作。
    务必注意所有下划线全都必须是反斜杠"",如果在命令行中正反斜杠混合使用,命令会运行失败。
    $(SolutionDir)的结尾是包含有一个反斜杠""的,请在拼接命令是注意。
    以下目录配置与工程名称无关,适用于一般的工程组织过程。
    在*.sln所在的目录下新建如下的目录组织:
    lib
    include
    bin elease
    bindebug
    templink
    tempcompile
     
    2- All configuration下配置:
    Configuration PropertiesGeneral
    output Directory
    $(SolutionDir)templink$(ProjectName)$(Configuration)
    Intermediate Directory
    $(SolutionDir)tempcompile$(ProjectName)$(Configuration)
     
    3- LinkerAdvanced下配置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 EventsPost-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;
    注意分号!!!注意下划线!!!注意库文件的函数声明和导出的类声明务必放在与工程名称相同的头文件中。
  • 相关阅读:
    分布式服务调用链路追踪——方案选型
    分布式服务调用链路追踪——Skywalking
    JVM——jhat命令
    JVM——jmap命令
    JVM——jstack命令
    JVM——jstat命令
    JVM——jinfo命令
    针对input添加padding后宽度变化问题
    HTTPS实现原理
    selenium异常捕获
  • 原文地址:https://www.cnblogs.com/maplewizard/p/3293059.html
Copyright © 2011-2022 走看看