Vs 2008 解决方案的目录结构设置和管理
?
?
ConfigurationName配置名字,通常是Debug或者ReleaseIntDir编译器使用的中间目录,产出obj文件OutDir链接器使用的输出目录ProjectDir项目目录ProjectName项目名字SolutionDir解决方案目录TargetDir目标输出文件所在的目录TargetExt目标输出的扩展名TargetFileName目标输出文件名,包括扩展名TargetName目标输出名,不包括扩展名TargetPath目标输出文件的全路径名?
首先来设置ChocolateMilk:1.使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录2.使用“/GMA/Temp/Link/”作为项目链接的输出目录注意高亮的部分,首先将配置改成All Configuration(全部配置),这样可以让我们同时修改Debug和Release的部分;Output Directory(输出目录,链接器)栏位填入:$(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName)Intermediate Directory(中间目录,编译器)栏位填入:$(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName)3.构建结束后拷贝动态链接库到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”,拷贝导入库到“/GMA/Lib/”我们通常都会在Debug版本的输出库后面加上字母“d”以表示这是Debug版本,在Debug配置下,修改Import Library栏位:VC可以让我们设置构建前后执行的脚本程序,所以为了完成3,我们需要写构建后执行的脚本:在Command Line中填入,Debug配置下:copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\;copy $(TargetDir)$(TargetName)d.lib $(SolutionDir)\Lib\;Release配置下:copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\;copy $(TargetDir)$(TargetName).lib $(SolutionDir)\Lib\;之所以要分别设置是因为VC没有表示导入库的宏名字 -_-POK,到此为止,你就可以编译ChocolateMilk项目试试是不是一切正常了,不过请确认拷贝的目标目录事先建立好。接下来我们设置应用程序项目PureMilk:1.使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录2.使用“/GMA/Temp/Link/”作为项目链接的输出目录首先将配置改成All Configuration(全部配置),这样可以让我们同时修改Debug和Release的部分;Output Directory(输出目录,链接器)栏位填入:$(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName)Intermediate Directory(中间目录,编译器)栏位填入:$(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName)3.构建结束后拷贝执行文件到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”在Command Line中填入,All配置下:copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName);4.调试时运行“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”下面的执行文件,并以“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”为工作目录Command栏位填入:$(SolutionDir)\Bin\$(ConfigurationName)\$(TargetFileName)Working Directory栏位填入:$(SolutionDir)\Bin\$(ConfigurationName)\这样就大功告成了,现在你就可以编译该执行程序并进行调试。