Как установить библиотеку C ++ (например, Blitz ++) в конкретный каталог (в том, который не требует прав sudo) в Linux? [дубликат]

Dec 30 2020

Я пробовал поискать ссылки на этом сайте. Ближе всего к моей проблеме я нашел эту , но все же я не смог решить с ней свою проблему.

Я новичок в этом, но в основном я собираюсь установить библиотеку Blitz ++ для C ++ в Linux.

Я уже сделал это однажды, следуя инструкциям их репозитория GitHub , где следующие команды устанавливают Blitz ++ в Unix-подобной системе:

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

Единственное, что я здесь пытаюсь сделать, - это избегать использования sudo. Насколько я понимаю, эта команда устанавливает файлы и саму библиотеку внутри каталогов, которым требуются привилегии sudo, принимают любые изменения (поправьте меня, если я ошибаюсь, я не очень разбираюсь в этом). Но скажите, хочу ли я установить библиотеку в каталог I, для которого у меня есть разрешения, чтобы избежать использования sudo?

Как я могу установить указанную библиотеку в домашний каталог, например, в Linux, без необходимости вызывать sudo?

Я знаю, что для других библиотек C ++ есть .configureфайл внутри их соответствующих каталогов, и, набрав что-то в строке ./configure --prefix=<directory_path>(учитывая, что текущий рабочий каталог является каталогом библиотеки), он позволяет установить библиотеку по указанному пути

Но я не могу понять, как сделать что-то подобное с Blitz ++, учитывая, что у него вообще нет .configureфайла. Возможно, есть другой способ, но мне в этой области крайне не хватает знаний. Любая помощь приветствуется.


Кроме того, если у кого-то есть какие-либо ссылки или ресурсы, которые помогают понять, как работают библиотеки C ++ и как их обычно устанавливать, а также любой другой рекомендуемый ресурс C ++, я был бы признателен, если вы дадите мне знать, если это не неудобство. Извиняюсь за ошибки и мое незнание

Ответы

1 BoR Dec 30 2020 at 03:11

Это действительно вопрос CMake. Вы ищете CMAKE_INSTALL_PREFIX . Пример:

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