модуль go не загружал программные ссылки cgo динамической библиотеки - PullRequest
0 голосов
/ 15 мая 2019

Среда: ubuntu 16.04, 64-битная, go-версия go1.12 linux / amd64

Я пытаюсь переключить свой проект golang с gopath на gomodule.Один из пакетов, импортированных моим проектом, использует cgo для вызова ffmpeg, пакет имеет несколько динамических библиотек ffmpeg, например, libavcodec.so, libavcodec.so.57, libavcodec.so.57.107.100, первые два файла - это мягкая ссылкапроблема в том, что когда я собираюсь создать свой проект golang, модуль go загружает только libavcodec.so.57.107.100, он не загружает файл двух программных ссылок

Я попытался получить пакет и успешнополучить все библиотеки, включая файл мягкой ссылки

Я ожидаю, что модуль go загрузит все файлы c динамическими библиотеками, включая файлы мягкой ссылки, но я не получил файлы мягкой ссылки


Обновление:Я отправил вопрос в github, и мне показалось, что это намеренно, см. issue # 32050

1 Ответ

0 голосов
/ 15 мая 2019

Go (как в режиме модулей, так и в режиме GOPATH) касается только с исходным кодом Go и будет загружать только пакеты Go (которые могут содержать код C), но оно никогда устанавливает разделяемые библиотеки в вашей системе или выполняет другие действия по установке (например, создание символических ссылок).

Существует нет способа , в котором вы можете убедить или заставить инструмент go делать то, что, как вы думаете, он должен делать.

Установите необходимые общие объектные файлы и необходимые символические ссылки любым другим удобным для вас способом в вашей системе.

...