Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26

Подключение в Unity3D неуправляемой библиотеки

04.02.2019, 09:33. Показов 1653. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте. Пытаюсь в Unity3D подключить неуправляемую библиотеку avcodec-58.dll. Объявляю функцию LoadLibrary:
C#
1
2
3
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.FastCall)]     
[ResourceExposure(ResourceScope.Process)]
public static extern IntPtr LoadLibrary(string libFilename);
Далее в коде вызываю:
C#
1
IntPtr lib = LoadLibrary("Полный путь к avcodec-58.dll");
Выдается ошибка "Не найден указанный модуль". Не подскажите, в чем может быть проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2019, 09:33
Ответы с готовыми решениями:

Подключение неуправляемой dll из ресурсов
Здравствуйте. Подключил управляемые dll из ресурсов способом описанным в посте #9 этого топика: ...

Подключение неуправляемой DLL к проекту
Доброго времени суток! Помогите пожалуйста. Создаю динамическую dll в VS 2015. В ней только одна функция: extern...

Подключение библиотеки Crypto. Если возможно, нужна ссылка на скачивание данной библиотеки
Возникли сложности с подключением библиотеки Crypto: import Crypto.Cipher.AES Выдает следующую ошибку: ...

9
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
04.02.2019, 09:52
Пробовал кинуть dll в папку к .exe файлу и убрать путь из метода?
0
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26
04.02.2019, 10:08  [ТС]
Попробовал, результат тот же.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
04.02.2019, 12:30
Sokolik, https://docs.unity3d.com/Manual/NativePlugins.html а если так?
0
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26
04.02.2019, 15:52  [ТС]
Вынес вызов LoadLibrary в отдельный скрипт в метод Awake, но ничего, увы, не поменялось.

Цитата Сообщение от Cr0c Посмотреть сообщение
Пробовал кинуть dll в папку к .exe файлу и убрать путь из метода?
Вы имеете в виду так?
Code
1
IntPtr lib = LoadLibrary("avcodec-58.dll")
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
04.02.2019, 16:18
Sokolik,
C#
1
2
[DllImport ("libc.so")]
 private static extern int getpid ();
вот такой метод, например
0
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26
04.02.2019, 16:35  [ТС]
Насколько я понимаю, в моем случае функция LoadLibrary распознается нормально. Unity не хочет подключать именно avcodec-58.dll. Я пробовал объявлять методы из самой avcodec-58.dll, например:

Code
1
2
[DllImport("avcodec-58.dll"), SuppressUnmanagedCodeSecurity]
public static extern int avcodec_close(AVCodecContext pAVCodecContext);
А затем вызывать их без предварительной LoadLibrary("avcodec-58.dll"), на что выдавалось DllNotFoundException.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
04.02.2019, 16:51
Sokolik, лежит где библиотека?

Добавлено через 5 минут
Зависимости точно не влияют?
1
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26
04.02.2019, 20:31  [ТС]
Класть я ее пробовал в Assets и, как Вы говорили, в папку с .exe файлом. Зависимости - в смысле еще какие-то dll для работы с ffmpeg?
0
13 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 26
07.02.2019, 13:33  [ТС]
Попробовал работать с avcodec-57.dll. Действительно, зависимости влияют. Проверил с помощью Dependency Walker - нужны avutil-55.dll, swresample-2.dll, ieshims.dll и т.д. Когда все собрал, через LoadLibrary загрузить удалось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2019, 13:33
Помогаю со студенческими работами здесь

Ошибка библиотеки сериализации. Unity3D + Newtonsoft.Json + System.ServiceModel.Web
Добавлено через 6 минут Хочу запускать проект юнити из вижл студии но неработает. Добавлено через 1 минуту сам проект ...

подключение библиотеки
Здравствуйте! Пытаюсь подключить к проекту библиотеку ftd2xx, есть файлы .lib .h .dll Прошу прощения, так как этот вопрос уже не раз...

Подключение библиотеки
при компиляции кода: #pragma comment(lib,"bass.lib") ... if (!BASS_Init(-1,44100,BASS_DEVICE_3D,0,NULL)) { label1->Text="Can't...

Подключение библиотеки C++
Добрый вечер. У меня такая небольшая проблема. Мне нужно подключить библиотеку которую я написал на c++ к проекту с#. ...

Подключение библиотеки!
Доброе время суток ! До етого очень давно писал на с++, по етому впорос оч тупой. мне нужно подключить к проекту виндовс форм...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru