对于那些在Windows上编译C的人来说,这是一个简单的问题!
我想在Windows 8上使用最新版本的Frama-C C静态分析器及其GUI。据我所知,拥有Windows安装程序的最新版本是Boron,它是3 -4岁。所以看起来像我需要自己编译它(版本Fluorine 3)。但是,我在前几步磕磕绊绊。
Frama-C Fluorine 3 的快速入门编译说明为here。
步骤2b:运行:
./configure --prefix C:/windows/path/with/direct/slash && make && make install
这个configure
文件是什么意思?如果我打开Cygwin终端,它会将我置于用户的主目录中,如果我运行./configure
,则表示没有这样的文件或目录。我认为这是指在源代码中引用其中一个配置文件,但是有超过10个。
C:/windows/path/with/direct/slash
到底意味着什么?请有人给我一个很好解释的真实例子吗?
我应该从哪个目录运行上述命令(步骤2b)?
我应该在哪个目录中放置提取的Frama-C源代码分发? (我应该从档案中提取src
目录,还是需要所有内容?)
我要做的就是按照他们的主页“Short example”链接到他们的主页,使用最新版本,在Windows 8.1上,我需要一个“Absolute Dummies”指南所以!
非常感谢
答案 0 :(得分:1)
我遇到了你的问题,因为我也对“with / direct / slash”指令感到困惑。至少我可以帮助解决你的其他问题:
按照惯例,它始终是tarball根目录中的配置文件。因此,解压缩tar.gz文件,然后cd进入创建的目录并从那里运行./configure。
- 前缀定义安装路径,因此我假设此选项应该将可执行文件放在某个目录中,可以从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'),你就可以丢弃提取的档案。
答案 1 :(得分:0)
https://github.com/Leaflet/Leaflet/issues/3198,在Windows 7和Windows 8.1上都进行了测试。
这些说明不受官方支持,但它们应该帮助用户使用OPAM(OCaml包管理器)编译和安装Frama-C。
此外,由于最近的Windows版本之间的过程没有显着差异,因此Updated instructions about compiling Frama-C on Windows的某些答案也可能适用于您的案例。
答案 2 :(得分:0)
在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才会安装。