Frama-C:在Cygwin / Windows 8.1上编译

对于那些在Windows编译C的人来说,一个简单的问题

我想在Windows 8上使用最新版本的Frama-C C静态分析器及其GUI。据我所知,具有Windows安装程序的最新版本是Boron,它有3-4年的历史。 所以看起来我需要自己编译它(版本氟3) 。 不过,我在前几个步骤磕磕绊绊。

Frama-C氟3的快速编制说明在这里 。

关于这些指令的4件事让我感到困惑:

  1. 这意味着哪个configure文件? 如果我打开Cygwinterminal,它使我在用户的主目录,如果我运行./configure它说没有这样的文件或目录。 我认为这是为了引用源文件中的一个configuration文件,但有10多个。

  2. C:/windows/path/with/direct/slash意味着什么? 请有人给我一个很好的解释一个真实的例子吗?

  3. 我应该从哪个目录运行上述命令(步骤2b)?

  4. 我应该在哪个目录中放置提取的Frama-C源代码? (我应该从档案中提取src目录,还是需要所有内容?)

我所要做的就是在Windows 8.1上使用最新版本的主页链接到他们的“ 简短示例 ”,我需要一个“绝对傻瓜”指南。

非常感谢

我遇到了你的问题,因为我也被“with / direct / slash”指令搞糊涂了。 至少我可以帮助你解决其他问题:

  1. 按照惯例,它始终是tarball根目录下的配置文件。 因此,解压缩tar.gz文件,然后进入到创建并运行./configure的目录。

  2. –prefix定义了安装路径,所以我假定这个选项应该把可执行文件放在一些可以从Windows访问的目录下(例如Program Files目录)。 我不确定“直接的斜线”是什么。 通常,Cygwin的根目录实际上是C:驱动器上的某个目录(例如C:\ cygwin),因此要访问文件层次结构的其余部分,通常在Cygwin根目录中有一个名为“cygdrive”的映射装载。 这样你就可以使用类似'/ cygdrive / c / path / to / windows /目录'的方式从Cygwin导航到宽层次结构。 在Cygwin中使用“C:/”有点奇怪。 对于什么是值得的,我只是接受默认的(no –prefix标志)或者在Cygwin层次结构中指定一些类似于/ usr / local / bin的东西,然后从那里运行它。

  3. 从你指定的“–prefix”目录中,因为这是可执行文件所在的位置。 如果将其作为默认值之一,则可以从任何地方运行可执行文件,因为它将位于PATH中的某个位置。

  4. 将所有内容提取到您的个人文件夹中的某个工作目录中。 一旦你安装了它(这是'./configure && make && make install'所做的),你可以扔掉提取的压缩文件。

有关在Windows上编译Frama-C的更新说明可在Frama-C wiki上找到,并在Windows 7和Windows 8.1上进行测试。

这些说明没有得到正式的支持,但是它们应该帮助用户使用OPAM(OCaml Package Manager)来编译和安装Frama-C。

而且,由于最近的Windows版本之间在程序上没有显着的差异,所以这个问题的一些答案也可能适用于你的情况。