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

标签 c windows compilation windows-8.1 frama-c

对于那些在windows上编译C的人来说一个简单的问题!

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

Frama-C Fluorine 3 的快速编译说明是 here .

  • 第 1 步:安装 OCaml。我已经从 here 安装了 Windows 版本.

  • 第 1b 步:我相信第 1 步安装了 Gtk 等。

  • 第 2b 步:运行:

    ./configure --prefix C:/windows/path/with/direct/slash && make && make install

关于这些说明的 4 件事让我感到困惑:

  1. 这应该是哪个configure 文件?如果我打开 Cygwin 终端,它会将我带到用户的主目录,如果我运行 ./configure,它会说没有这样的文件或目录。我认为它是指源代码中的配置文件之一,但有 10 多个。

  2. C:/windows/path/with/direct/slash 到底指向什么?请有人能给我一个真实的例子并给出一个很好的解释吗?

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

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

我想做的就是在 Windows 8.1 上使用最新版本,按照他们主页上的“Short example”链接,我需要一个“绝对傻瓜”指南!

非常感谢

最佳答案

我遇到了你的问题,因为我也对“with/direct/slash”指令感到困惑。至少我可以帮助您解决其他问题:

  1. 按照惯例,它始终是 tarball 根目录中的配置文件。因此,提取 tar.gz 文件,然后 cd 进入创建的目录并从那里运行 ./configure。

  2. --prefix 定义了安装路径,所以我假设这个选项应该将可执行文件放在某个目录中,可以从 Windows 轻松访问(例如 Program Files 目录)。不过,我不确定“直接斜杠”位是什么意思。通常 Cygwin 的根目录实际上是 C: 驱动器上的某个目录(例如 C:\cygwin),因此要访问文件层次结构的其余部分,通常在 Cygwin 根目录中有一个名为“cygdrive”的映射挂载。这样您就可以使用“/cygdrive/c/path/to/windows/directory”之类的内容从 Cygwin 中导航到广泛的层次结构。在 Cygwin 中使用“C:/”有点奇怪。对于它的值(value),我只接受默认值(没有 --prefix 标志)或在 Cygwin 层次结构中指定一些东西,例如“/usr/local/bin”,然后从那里运行它。

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

  4. 将全部提取到您的主文件夹中的某个工作目录中。安装后(这是“./configure && make && make install”所做的),您可以丢弃提取的存档。

关于c - Frama-C:在 Cygwin/Windows 8.1 上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877928/

相关文章:

C - 需要检测数字中是否存在数字(hw)

python - Python 中的赋值

c# - C# 代码是否编译为 native 二进制文件?

c - 包含标题时未定义的函数引用

C 二维数组输入

C++ - 我需要哪些库或命令行程序来创建一个获取 AVI 文件并将其刻录到 DVD 的程序?

c# - 获取wifi信号强度

windows - MongoDB数据库自动删除

java - 我的 Java 程序无法编译

c - 有没有办法用 C ping 一个特定的 IP 地址?