如何在 Linux 上的特定目录(不需要 sudo 权限的目录)中安装 C++ 库(例如 Blitz++)?

How to install a C++ library (such as Blitz++) in a specific directory (in one that doesn't require sudo privileges), on Linux?

我尝试查看此网站上的一些链接。我发现最接近我的问题的是 this 一个,但我仍然无法用它解决我的问题

我是新手,但基本上,我打算在 Linux

上安装 C++ 的 Blitz++

现在,我已经按照他们 GitHub repository 的说明完成了一次此操作,其中以下命令在类 Unix 系统上安装 Blitz++:

mkdir build      # Inside the cloned Github repo
cd build
cmake ..
make lib
sudo make install

我在这里唯一想做的就是避免使用 sudo。据我所知,该命令将文件和库本身安装在需要 sudo 权限的目录中接受任何修改(如果我错了请纠正我,我在这里不太精通)。但是说如果我想在我有权限的目录中安装库,以避免必须使用 sudo?

如何在 Linux 的主目录中安装上述库,而无需调用 sudo

我知道对于其他 C++ 库,在它们各自的目录中有一个 .configure 文件,并通过键入 ./configure --prefix=<directory_path> 的内容(假设当前工作目录是库目录),它允许将库安装在指定路径

但鉴于 Blitz++ 没有任何 .configure 文件,我一辈子都想不出如何用 Blitz++ 做类似的事情。也许还有另一种方法,但我完全缺乏这方面的知识。感谢任何帮助。


另外,如果有人有任何链接或资源可以帮助理解 C++ 库的工作原理和一般安装方法,以及任何其他推荐的 C++ 资源,如果没有,请告诉我,我将不胜感激带来的不便。为任何错误和我的无知道歉

这真是一道CMake题。您正在寻找 CMAKE_INSTALL_PREFIX。一个例子:

mkdir build      # Inside the cloned Github repo
cd build
cmake -DCMAKE_INSTALL_PREFIX=<directory_path> ..
make lib
make install