Установите файл so в Ubuntu 18.4

Contraejemplo :el comando [, el que usas cuando escribes if [ "$foo" = bar ]. Es lo mismo que test, excepto que requiere el argumento final ]y es una utilidad estándar .

Sí, es un archivo ejecutable:

# ls -l "/usr/bin/["
-rwxr-xr-x 1 root root 51920 Mar  2  2017 /usr/bin/[

1
14.06.2019, 19:03
2 ответа

.soфайлы являются динамическими библиотеками, они не запускаются сами по себе, а загружаются из других программ. Вы можете либо загрузить их из своей локальной папки, либо поместить в папку, указанную в вашей переменной PATH, и загрузить из другой программы в другом каталоге.

1
27.01.2020, 23:30

Как указывает Стивен Китт, у вас есть совместно используемая библиотека (, эквивалентная Windows.dll ). Принято считать, что Cython предназначен для создания модулей C для Python, а не целых программ (, эквивалентных Windows.exe ). Поэтому в Интернете вы встретите некоторое сопротивление идее, что Cython можно использовать таким образом.

Однако вы должны просмотреть этот ответ:https://stackoverflow.com/a/22040484/453851

Вы можете написать исполняемый файл, используя Cython, если вы используете компилятор C. То есть вы можете указать Cyton написать код C, используя что-то вроде:

cython3 --embed -o run.c run.py

А затем скомпилировать:

gcc -I /usr/include/python3.3m -o run run.c -lpython3.3m -lpthread -lm -lutil -ldl

Если вы не знакомы с компилятором C, я должен упомянуть, что переключатели -lсвязывают вашу программу с другими .soбиблиотеками. -lpython3.3mссылается на python3.3m.soи имеет важное значение, но может варьироваться в зависимости от того, на какую версию Python вы хотите ссылаться.

Таким образом, вам все равно потребуются некоторые библиотеки Python, установленные в вашей системе, для запуска программы, скомпилированной таким образом.


Я заметил, что ваш вопрос также касался того, как "установить" это. Вы можете либо упаковать свои встроенные файлы как .dpkg, а затем установить с помощью dpkg --install my-program.dpkg. Здесь есть руководство -по этому вопросу :https://ubuntuforums.org/showthread.php?t=910717

.

В качестве альтернативы вы можете просто поместить файлы в нужное место в вашей системе. Упакованные программы Un -обычно относятся к /usr/local/bin, а общие объекты — к /usr/local/lib.

1
27.01.2020, 23:30

Теги

Похожие вопросы