在 Ubuntu 20.04 上更新犰狳

Updating Armadillo on Ubuntu 20.04

我目前在 Ubuntu 20.04 的机器上安装了 Armadillo 9.900.4。我已经下载了 10.1.0 和 运行 cmake .sudo make install,当我重新编译我的代码时 运行 它说它是用 9.900.4 编译的。我做错了什么吗?有没有办法完全删除犰狳并重新安装?

谢谢

这是使用 make install 安装的缺点。它绕过了你的发行包管理器,然后你必须手动 clean/upgrade 你已经安装的东西。 install make 目标实际做什么也取决于库的创建者。

一些库还创建了一个“卸载”目标以使卸载更容易。我不知道犰狳是否这样做,但你可以尝试从你编译的文件夹中 运行ning make uninstall 和 运行 make install 命令来检查。

无论如何,Linux 都有安装库和 header 的标准目录。通常 install make 目标所做的就是将适当的文件复制到这些文件夹中。然后您需要做的就是手动删除这些文件。尝试在 /usr/include 文件夹中查找 headers,并在 /usr/lib 文件夹中查找已编译的库(名称可能因发行版而略有不同)。

如果找不到,可以使用locate程序。 运行 locate armadillo 在 shell 中。不过,我不确定它是否已安装在 ubuntu 中。


您也可以将 armadillo 用作 header 唯一的库,而无需在您的系统中“安装”它。在这种情况下,您将需要 link 您的程序具有 BLAS 实现和 Lapack。事实上,当你编译犰狳时,它所做的就是创建一个“包装库”,你可以 link 使用它,并且已经 link 使用 BLAS 和 Lapack(大多数犰狳代码是模板代码)。


TLDR;

/usr/include(或类似内容)中搜索犰狳读者并将其删除。在 /usr/lib(或类似的东西)中搜索已编译的犰狳库并将其删除。