找不到gcc编译器lib文件错误

时间:2014-03-26 09:13:31

标签: gcc ada gcov gnat gnat-gps

请帮我解决gcc编译器命令

gcc -c -ID:\ pjtName \ lib -c -fprofile-arcs -ftest-coverage D:\ pjtName \ source \ tmp.ada

我正在尝试用覆盖率编译tmp.ada。 adb和ads文件位于D:\ pjtName \ source文件夹中。我的lib文件位于D:\ pjtName \ lib文件夹中。

问题是gcc没有找到tmp.ads文件和D:\ pjtName \ lib文件夹中的库文件。它显示文件未找到错误

执行此命令后,我需要为tmp.ada文件运行gcov命令

2 个答案:

答案 0 :(得分:2)

GNAT的构建过程很复杂。 gcc实际上是一个太低级别的工具,无法轻松使用;相反,使用gnatmake和GNAT项目文件。

您已标记 gnat-gps ,因此我假设您确实拥有GPS。如果是这样,那么打开GPS时,最好的选择是选择使用向导创建新项目并从那里继续。如果您遇到困难,请使用GPS附带的帮助或返回此处。

要使用GPS获取覆盖率信息,请转到编辑 / 编辑项目属性

  • Ada 标签中,选择代码覆盖率乐器弧,其中包括-ftest-coverage-fprofile-arcs;
  • Ada链接器标签中,选择代码覆盖率,其中包含-fprofile-generate(否则会出现链接时错误。)

顺便提一句,你提到了一个文件tmp.ada;最好坚持.ads用于规范,.adb用于身体。 GNAT尽力而为,但如果您的其他代码包含with Tmp;,GNAT会查找tmp.ads。你可以alter this behaviour,但除非你出于其他原因,否则为什么要费心呢!

答案 1 :(得分:0)

如上所述,不要使用gcc。

我通常使用gnat compile filename.adb,然后使用gnat bind filename.ali,然后使用gnat link filename.ali -Lexternaldirectory -lexternallib