大多数开发工具使用依赖性模型(有时表示为一个 makefile),在这种模型下,每个源文件上的时间戳与目标文件(大多数情况下是 obj 文件)上的时间戳进行比较,以确定是否需要重新生成目标文件。
对于 UltraLite 开发,对开发项目中任何 SQL 语句的更改都意味着需要将已生成的代码进行重新生成。这些更改不反映在任何单个源文件上的时间戳中,因为 SQL 语句存储在参考数据库中。
本节介绍如何将 UltraLite 应用程序(具体来说就是 SQL 预处理器)开发集成到基于依赖性的构建环境中。提供的特定指导是针对 Visual C++ 的,您可能需要根据自己的开发工具对其进行相应的修改。
CodeWarrior 的 UltraLite 插件会自动向 Palm Computing Platform 开发人员提供此处所述的技术。有关此插件的详细信息,请参见开发用于 Palm OS 的 UltraLite 应用程序。
第一组指导介绍了如何向开发工具中添加指令来运行 SQL 预处理器。
将 .sqc 文件添加到开发项目中。
在开发工具中定义开发项目。
为每个 .sqc 文件添加一条自定义构建规则。
自定义构建规则应运行 SQL 预处理器。在 Visual C++ 中,构建规则应该包含以下命令(在一行中输入):
"%SQLANY11%\Bin32\sqlpp.exe" -q -u $(InputPath) $(InputName).cpp |
其中 SQLANY11 是指向 SQL Anywhere 安装目录的环境变量。
有关 SQL 预处理器命令行的完整说明,请参见UltraLite 实用程序的 SQL 预处理器 (sqlpp)。
将命令的输出设置为 $(InputName).cpp。
编译 .sqc 文件,并将所生成的 .cpp 文件添加到开发项目中。
即使所生成的文件不是源文件,也应将它们添加到您的项目中,这样才能建立依赖性和构建选项。
为每个生成的 .cpp 文件设置预处理器定义。
在 [General] 或 [Preprocessor] 下,向预处理器定义添加 UL_USE_DLL。
在 [Preprocessor] 下,以逗号分隔列表的形式向包含路径添加 $(SQLANY11)\SDK\Include 以及所需的其它包含文件夹。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |