¿Cómo instalar una biblioteca C ++ (como Blitz ++) en un directorio específico (en uno que no requiere privilegios de sudo), en Linux? [duplicar]

Dec 30 2020

Intenté buscar algunos enlaces en este sitio. Lo más cercano que encontré a mi problema fue este , pero aún así no pude resolver mi problema con él.

Soy un poco nuevo en esto, pero básicamente, tengo la intención de instalar la biblioteca Blitz ++ para C ++, en Linux.

Ahora, ya hice esto una vez, siguiendo las instrucciones de su repositorio de GitHub , donde los siguientes comandos instalan Blitz ++ en un sistema similar a Unix:

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

Lo único que intento hacer aquí es evitar usar sudo. Por lo que puedo entender, ese comando instala archivos y la biblioteca en sí dentro de los directorios que necesitan privilegios de sudo aceptan cualquier modificación (corríjanme si me equivoco, no estoy bien versado aquí). Pero digamos si quiero instalar la biblioteca en el directorio I para el que tengo permisos, para evitar tener que usar sudo?

¿Cómo puedo instalar dicha biblioteca en el directorio de inicio, por ejemplo, en Linux, sin tener que invocar sudo?

Sé que para otras bibliotecas de C ++, hay un .configurearchivo dentro de sus respectivos directorios, y al escribir algo a lo largo de las líneas de ./configure --prefix=<directory_path>(dado que el directorio de trabajo actual es el directorio de la biblioteca), permite que la biblioteca se instale en la ruta especificada

Pero no puedo por mi vida averiguar cómo hacer algo similar con Blitz ++, dado que no tiene ningún .configurearchivo. Quizás haya otra forma, pero carezco absolutamente de conocimientos en esta área. Se agradece cualquier ayuda.


Además, si alguien tiene enlaces o recursos que ayuden a comprender cómo funcionan las bibliotecas C ++ y cómo instalarlas en general, así como cualquier otro recurso C ++ recomendado, le agradecería que me avisara si no es un inconveniente. Disculpas por cualquier error y mi ignorancia.

Respuestas

1 BoR Dec 30 2020 at 03:11

Esta es realmente una pregunta de CMake. Estás buscando CMAKE_INSTALL_PREFIX . Un ejemplo:

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