让BDS2007(Delphi2007&C++Builder2007)编译出一个个性的文件名,而不是以Project的名称来命名
2008-06-08 16:34
369 查看
在BDS2007当中调用的是MSBuild来完成最终的编译,而其实MSBuild支持<TargetName>来指定文件名,但是BDS2007却对它“视而不见”,虽然你可以手工去编辑Delphi/CB的project源文件,来指定一个<TargetName>,但是编译是可以生成一个际定的文件名,却无法在IDE当中通过Run或F9来执行,并且也无法在IDE当中完成改名。
不过,很有意思的是,在工程选项的Application当中,却可以指定文件的扩展名。通过测试发现,其中还可以包含"/"这样一个目录分割符,于是,如果你想生成一个文件名,大可以改成"/我的文件名.exe"来完成改名,麻烦的问题就是需要在目标目录当中建议一个以"$(ProjectName)."(最后面有一个点号)为名称的子目录。再通过测试发现,这里还暗藏着玄机,如果你把它改为"/../我的文件名.exe",此时它就不会再检查这个子目录,而是直接在目标目录下生成了"我的文件名.exe",于是我们就完成了“改名大计”。
改名的过程,这里用"$(OutputDir)"代表生成目录文件的输出目录(CBuiler可以通过Project Options当中Paths and Defines下面的Final Output来指定;Delphi则可以通过Project Options当中Directories/Conditionals下的Output Directory来指定),"$(ProjectName)"代表工程(Project)的名称,"$(TargetExt)"代表文件的扩展名,比如"exe,ocx,dll"等等:
找到菜单项,也可以右击Project Manager,找到Options...打开对话框,在左边的树形列表(TreeList)当中找到Application项,并选中,右边的面板当中就会出现Application Setting和Output Setting两个配置组,Output Setting当中只有一项Target file extension,即文件的扩展名,把它换成"/../我的文件名.exe"
如此预生成的文件就由原来的:
$(OutputDir)/$(ProjectName).$(TargetEx)
带进我们的配置(假目标目录为"c:/MyProjects",工程名为"MyProject1")
c:/MyProjects/MyProject1./../我的文件名.exe
展开来就是
c:/MyProjects/我的文件名.exe
于是就完成了由原来生成
c:/MyProjects/MyProject1.exe
到最终生成我们际定的文件名的“改名”过程。
注:
遗憾的是Delphi2007不支持中文命名(CBuilder2007支持)
不过,很有意思的是,在工程选项的Application当中,却可以指定文件的扩展名。通过测试发现,其中还可以包含"/"这样一个目录分割符,于是,如果你想生成一个文件名,大可以改成"/我的文件名.exe"来完成改名,麻烦的问题就是需要在目标目录当中建议一个以"$(ProjectName)."(最后面有一个点号)为名称的子目录。再通过测试发现,这里还暗藏着玄机,如果你把它改为"/../我的文件名.exe",此时它就不会再检查这个子目录,而是直接在目标目录下生成了"我的文件名.exe",于是我们就完成了“改名大计”。
改名的过程,这里用"$(OutputDir)"代表生成目录文件的输出目录(CBuiler可以通过Project Options当中Paths and Defines下面的Final Output来指定;Delphi则可以通过Project Options当中Directories/Conditionals下的Output Directory来指定),"$(ProjectName)"代表工程(Project)的名称,"$(TargetExt)"代表文件的扩展名,比如"exe,ocx,dll"等等:
找到菜单项,也可以右击Project Manager,找到Options...打开对话框,在左边的树形列表(TreeList)当中找到Application项,并选中,右边的面板当中就会出现Application Setting和Output Setting两个配置组,Output Setting当中只有一项Target file extension,即文件的扩展名,把它换成"/../我的文件名.exe"
如此预生成的文件就由原来的:
$(OutputDir)/$(ProjectName).$(TargetEx)
带进我们的配置(假目标目录为"c:/MyProjects",工程名为"MyProject1")
c:/MyProjects/MyProject1./../我的文件名.exe
展开来就是
c:/MyProjects/我的文件名.exe
于是就完成了由原来生成
c:/MyProjects/MyProject1.exe
到最终生成我们际定的文件名的“改名”过程。
注:
遗憾的是Delphi2007不支持中文命名(CBuilder2007支持)
相关文章推荐
- 让BDS2007(Delphi2007&C++Builder2007)编译出一个个性的文件名,而不是以Project的名称来命名
- cocos2d-x 3.0 :"ui”: 不是类或命名空间名称
- c#下不同命名空间的引用(一个project使用另外一个project的名称空间)
- VC++6.0重命名Project名称及其MFC工程及类文件名
- VC++6.0重命名Project名称及其MFC工程及类文件名
- 命名空间"System.web”中不存在类型或命名空间名称"UI”(是缺少程序集引用)
- 关于asp错误'C:\inetpub\wwwroot\bg\#databases#\seablog.mdb'不是一个有效的路径。
- <img src="中文文件名" /> 无法显示图片,图片名改成英文就可以显示;试了下在电脑桌面写了个HTML测试下,可以显示中文名称的图片,解决方法
- [笔记][Cocos2d-x]关于 “不是一个有效的 Android 目标平台” 的编译错误
- 'OBJECT_SCHEMA_NAME' 不是可以识别的 内置函数名称。
- 修改$("form:first").serialize(); 中某一名称的checkbox一个均未选择, 取不到name, 后台无法更新为null的错误
- [C#错误] 未找到类型或命名空间名称" " (是否缺少 using 指令或程序集引用?)
- 未能找到类型或命名空间名称"xxxxxx"的真正原因
- error C2653: “Cfile”: 不是类或命名空间名称
- Android&nbsp;project&nbsp;的常用编译方法
- Failed to sync Gradle project '项目名称(module)' Error:failed to find Build Tools revision 20.0.0
- 编译不通过:提示XXXX不是类或命名空间名 的解决办法
- 编译不通过:提示XXXX不是类或命名空间名
- “boost”: 不是类或命名空间名称,该怎么解决
- 一步一个脚印学习WCF系列之WCF基础术语—契约的名称与命名空间(二)