对于那些在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 件事让我感到困惑:
这应该是哪个
configure
文件?如果我打开 Cygwin 终端,它会将我带到用户的主目录,如果我运行./configure
,它会说没有这样的文件或目录。我认为它是指源代码中的配置文件之一,但有 10 多个。C:/windows/path/with/direct/slash
到底指向什么?请有人能给我一个真实的例子并给出一个很好的解释吗?我应该在哪个目录中运行上述命令(步骤 2b)?
我应该将提取的 Frama-C 源代码分发放在哪个目录中? (我应该只从存档中提取
src
目录,还是需要所有内容?)
我想做的就是在 Windows 8.1 上使用最新版本,按照他们主页上的“Short example”链接,我需要一个“绝对傻瓜”指南!
非常感谢
最佳答案
我遇到了你的问题,因为我也对“with/direct/slash”指令感到困惑。至少我可以帮助您解决其他问题:
按照惯例,它始终是 tarball 根目录中的配置文件。因此,提取 tar.gz 文件,然后 cd 进入创建的目录并从那里运行 ./configure。
--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”,然后从那里运行它。
从您指定的“--prefix”目录,因为那是可执行文件所在的位置。如果将其保留为默认值之一,则可以从任何地方运行可执行文件,因为它将位于您的 PATH 中的某个位置。
将全部提取到您的主文件夹中的某个工作目录中。安装后(这是“./configure && make && make install”所做的),您可以丢弃提取的存档。
关于c - Frama-C:在 Cygwin/Windows 8.1 上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877928/