我目前在装有Ubuntu 20.04的计算机上安装了Armadillo 9.900.4。我已经下载了10.1.0并运行了cmake .
和sudo make install
,当我重新编译代码并运行它时,它说它是用9.900.4编译的。我做错什么了吗?有没有办法完全删除犰狳并重新安装?
谢谢
答案 0 :(得分:1)
这是使用make install
安装某些东西的缺点。它会绕过您的发行版软件包管理器,然后您必须手动清理/升级已安装的内容。库install
的实际作用还取决于库的创建者。
某些库还创建了一个“卸载”目标,以使卸载更加容易。我不知道armadillo是否这样做,但是您可以尝试从编译的文件夹中运行make uninstall
并运行make install
命令进行检查。
在任何情况下,Linux都有安装库和头文件的标准目录。通常,install
的目标是将适当的文件复制到这些文件夹中。然后,您需要做的就是手动删除这些文件。尝试在/usr/include
文件夹中查找标头,在/usr/lib
文件夹中查找已编译的库(名称随发行版的不同而有所不同)。
如果找不到它们,则可以使用locate
程序。只需在外壳中运行locate armadillo
。我不确定它是否已经安装在ubuntu中。
您也可能只将armadillo用作仅标头的库,而无需在系统中“安装”。在这种情况下,您需要将程序与BLAS实现以及Lapack链接。实际上,当编译armadillo时,它所做的就是创建一个可以与BLAS和Lapack链接并且已经与之链接的“包装器库”(大多数armadillo代码是模板代码)。
TLDR;
在/usr/include
(或类似名称)中搜索犰狳读者并将其删除。在/usr/lib
(或类似名称)中搜索已编译的犰狳库并将其删除。