0

我将 gcc (GCC) 4.5.4 20120510 用于 GNAT GPL 2012 (20120509) 和来自 qtada-gpl-3.2.0-20120708-3871-qt4.8.2-2.exe 安装程序的 qtada。我正在尝试从“..\GNAT\2012\examples\qtada\sql\cached_table”编译示例,但它说“ table_editors-moc.ads not found”,

错误来自声明:

with Table_Editors.MOC; pragma Warnings (Off, Table_Editors.MOC);
--  Child package MOC must be included in the executable.

我在哪里可以找到包含“table_editors-moc.ads”和另一个 moc 文件的“子包 MOC”?

4

2 回答 2

1

我不知道 Qt 或 QtAda,但快速搜索表明 Qt 使用元对象编译器 (MOC) 从宏自动生成源代码。难道你的 Table_Editor.MOC 应该被生成?

于 2013-10-02T07:52:07.563 回答
1

我很惊讶 QtAda 已将其示例安装在\GNAT\2012\examples; 从这台 Mac 上设置 GNAT 的方式来看,我已经预料到了\GNAT\2012\share\examples.

但是.. 我怀疑 QtAda 的文件系统布局足够复杂,以至于您需要使用“ GNAT 项目文件”来进行构建。我希望.gpr在与您的示例代码相同的目录中有一个文件(如果没有,我无能为力);如果是这样,并假设它被调用cached_table.gpr,那么在命令窗口中说

gnatmake -p -P cached_table.gpr

或(遵循QtAda 3.1 的文档

gprbuild -p -P cached_table.gpr
于 2013-10-02T06:47:25.140 回答