Вы уверены, что не смешиваете вкладки и пробелы в Вашем пробеле добавления отступа? (Который вызовет ту ошибку.)
Примечание, рекомендуется не использовать вкладки в коде Python. Посмотрите руководство по стилю . Необходимо настроить Блокнот ++ для вставления пробелов для вкладок.
-Wl, -rpath ,. -> использовать текущий каталог для поиска файлов библиотеки. (даже если не найден в компиляции, нормально во время выполнения) вместо -llibrary -> используйте library.so.
Кажется, это работает правильно. Надеюсь, кто-нибудь сочтет это полезным.
Предполагая платформу ELF, если вы можете перестроить foo.so
:
- лучшее исправление - просто назвать его libfoo.so
- следующее лучшее исправление - установить для него SONAME
:
gcc -Wl,-soname,foo.so -o foo.so foo.o
, когда вы позже свяжетесь с:
gcc -o a.out a.o /path/to/foo.so
только SONAME
будет записан как зависимость, а не полный /path/to/foo.so
.
Если вы не можете перестроить foo.so
, затем сделайте следующее:
rm -f foo.so && ln -s /path/to/foo.so foo.so &&
gcc -o a.out a.o ./foo.so && rm -f foo.so