选择Debug方式或Release方式编译
在 Project Manager 里面,要运行或调试的程序,在项目文件的树形结构里面,找到 Buid Configurations,在这个分支里面,有两个选项 Debug 和 Release:
• Debug: 如果这个选项设为活动选项,编译出来的 exe 或 dll 文件含有调试信息,可以设断点和单步运行。程序在调试阶段,一般都选择这个选项
• Release: 如果这个选项设为活动选项,编译出来的 exe 或 dll 文件不包含调试信息,运行效率更高,程序不能设断点和单步运行。程序发布的时候,一般都选择这个选项编译
双击 Debug 或 Release 把选项设为活动选项,活动选项为加粗的字体显示,上面截图里面,活动选项为 “Debug”。也
可以在 Debug 或 Release 位置点击鼠标右键,选择 Activate 把这个选项设为活动选项。
编译项目
Make 方式编译:
这是最常用的编译方法。如果之前编译过,只编译从上次编译到现在修改过的程序;如果之前没有编译过,或者 “Clean” 过,会编译整个项目
• 选择菜单Project → Make 项目名,编译当前活动项目
• 键盘快捷键 Ctrl + F9,编译当前活动项目
• 右键点击 Project Manager 里面的项目名,选择 Make
• 选择菜单 Project → Make all projects,编译项目组里面所有的项目
• 右键点击 Project Manager 里面的项目组名,选择 Compile all,编译项目组里面所有的项目
• 右键点击 Project Manager 里面的某个项目名,选择From Here → Compile All From Here,编译从这个项目开始的所有后面的项目
Clean会把编译的中间结果生成的临时文件都删除,再编译程序的时候,就和第一次编译一样,需要整个项目都重新编译一遍。
• 选择菜单 Project → Clean 项目名称,清除当前活动项目的编译
• 在 Project Manager 里面,用鼠标右键点击项目名称,然后选择 Clean,清除这个项目的编译
• 在 Project Manager 里面,用鼠标右键点击项目组,然后选择 Clean All,清除这个项目组里面所有的项目的编译
• 在 Project Manager 里面,用鼠标右键点击一个项目,然后选择From Here → Clean All From Here,清除从这个项目开始,后面所有项目的编译
Build 方式编译:
重新完整的编译项目,相当于Clean之后再Make
♦ 选择菜单Project → Build项目名称,重新编译这个项目
♦ 使用快捷键 Shift + F9,重新编译当前活动项目
♦ 选择菜单 Project → Builder All Projects,重新编译项目组里面所有的项目
♦ 选择菜单 Project → Builde xxx.cpp 编译当前正在编辑的 .c 或 .cpp 文件,这并不能生成编译最终的 .exe 或 .dll,一般是在调试过程中检查语法使用的
♦ 使用快捷键 Alt + F9,只重新编译当前编辑的 .c 或 .cpp 文件,这并不能生成最终的 .exe 或 .dll 文件,一般是在调试过程中检查语法使用的
♦ 在 Project Manager 里面,用鼠标右键点击项目名称,选择 Build,可以重新编译这个项目
♦ 在 Project Manager 里面,用鼠标右键点击项目组,选择 Build All,可以重新编译项目组里面所有的项目
建议编译方式:
由于 Build 的速度比较慢,一般都是选择 Make 方式,只编译改动部分,这样编译速度就快了很多。
编译 exe 项目,多数情况都是直接使用调试方式运行,这样会先自动执行 Make 然后运行。
在实际应用中,有时候能遇到编译出来的文件有问题的时候,比如刚改的代码没有生效,或者断点位置和代码对不上,可能就是 Make 方式编译的时候,检查修改过的程序不准确引起的,这时候 Build 一遍项目就好了,也可以先 Clean 再 Make 或 Build。
程序修改了,可是编译的结果并不是修改之后的预期的编译结果
♦ 由于一般情况都是采用 Make 方式编译的,只编译修改过的部分,没有修改的程序维持上次编译的结果。多次编译之后,可能会有检测修改内容不准确的地方,这样会引起刚刚修改的代码没有生效,或者断点和代码对不上,这时候 Build 一遍项目就好了,也可以先 Clean 再 Make 或 Build。请参考 “建议编译方式” 的内容。
♦ 在 “我的文档” 里面的 “Embarcadero\Studio\Projects” 文件夹里面,有和项目里面的文件同名的文件。这个文件夹的优先级很高,如果这里有和当前项目同名的文件,会用这里的文件,而不是项目里面预期的文件,这样编译会出错,很难确定原因。不要把文件直接放在这个文件夹里面,可以在这里创建子文件夹,把文件移动到子文件夹里面,或者把文件移动到别的地方,问题就解决了。请参考 “创建常用的新项目” 的内容。
|