[英]Frama-C: compiling on Cygwin / Windows 8.1
对于那些在 Windows 上编译 C 的人来说,这是一个简单的问题!
我想在 Windows 8 上使用最新版本的Frama-C C 静态分析器及其 GUI。据我所知,具有 Windows 安装程序的最新版本是 Boron,它已有 3-4 年的历史。 所以看起来我需要自己编译它(版本 Fluorine 3) 。 但是,我在前几步中磕磕绊绊。
Frama-C Fluorine 3的快速入门编译说明在这里。
第一步:安装OCaml。 我已经从这里安装了 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 上使用最新版本的主页链接到他们的“简短示例”,我需要一个“绝对傻瓜”指南来执行此操作!
非常感谢
我遇到了你的问题,因为我也对“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:/" 有点奇怪。 对于它的价值,我只接受默认值(无 --prefix 标志)或在 Cygwin 层次结构中指定某些内容,例如“/usr/local/bin”,然后从那里运行它。
从您指定的“--prefix”目录中,因为这是可执行文件所在的位置。 如果将其保留为默认值之一,则可以从任何地方运行可执行文件,因为它将位于 PATH 中的某个位置。
将全部内容提取到您的主文件夹中的某个工作目录中。 一旦你安装了它(这就是 './configure && make && make install' 所做的)你可以扔掉提取的存档。
有关在 Windows上编译 Frama-C 的更新说明可在 Frama-C wiki 上找到,并在 Windows 7 和 Windows 8.1 上进行了测试。
这些指令不受官方支持,但它们应该可以帮助用户使用 OPAM(OCaml 包管理器)编译和安装 Frama-C。
此外,由于最近的 Windows 版本之间的程序没有显着差异,因此该问题的一些答案可能也适用于您的情况。
在 Windows 10 中,按照以下说明成功安装了 frama-c:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
Ubuntu 现在应该在 Windows 菜单中可用。 运行它并按照说明创建用户。
要安装 opam,
sudo add-apt-repository -y ppa:snwh/ppa
sudo apt update
sudo apt upgrade
sudo apt install make m4 gcc opam
可以使用以下方法设置 opam:
opam init --disable-sandboxing -c 4.07.0 --shell-setup
如果存在 opam 开关错误,则运行以下命令:
opam switch create 4.07.0
这将下载并安装 ocaml 编译器 4.07.0 版本。
eval $(opam env)
opam install -y depext
要安装 Frama-C,请运行以下命令:
opam depext --install -y lablgtk3 lablgtk3-sourceview3
opam depext conf-gnomecanvas
opam depext conf-gtksourceview
opam depext --install -y frama-c
这应该处理大约 70 个文件,安装需要一些时间。
eval $(opam config env)
再次重启 Ubuntu,如果出现“找不到命令”的问题,则再次执行命令“eval $(opam config env)”并使用 frama-c。
一旦安装了 Frama-c 21.1,测试:
which frama-c
which frama-c-gui
如果这两个命令都显示了正确的安装目录,则它们将成功执行。
frama-c-gui 安装后,由于 WSL 不支持 GUI,所以我使用了 mobaXterm。
export DISPLAY="172.19.64.1:0.0"
如果使用 Virtual Box 和安装在 virtual box 中的 Linux 发行版,则按照步骤 2 到 5 进行安装。 为虚拟框分配至少 20 GB 以成功安装。 frama-c-gui 只有在分配了足够的磁盘空间时才会安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.