Лучший отвечающий
DllImport

Вопрос
-
Всем привет!
Друзья, подскажите пожалуйста как подключить библиотеку в C# проект. Я уже истоптал все интернеты, вынес мозг коллегам, а теперь вот от отчаяния пришел сюда. Купил клавиатуру, у нее можно управлять подсветкой через предоставленный API, есть и библиотека и документация, но толи лыжи, толи я.... Пытаюсь подключить библиотеку к проекту следующим образом:
[DllImport("Roccat Talk SDK.dll", SetLastError = true)] public static extern bool init_ryos_talk();
На что получаю ошибку:
Необработанное исключение типа "System.EntryPointNotFoundException" в TestApp.exe
Дополнительные сведения: Не удается найти точку входа "init_ryos_talk" в DLL "Roccat Talk SDK.dll".Пожалуйста, помогите разобраться, люди добрые. Мне хотябы просто примерчик в котором метод init_ryos_talk работает. Заранее бесконечно благодарен.
- Изменено JusteG 13 августа 2014 г. 2:42
13 августа 2014 г. 2:32
Ответы
-
Здесь лежит проект обертки и тестового приложения на C#. Созданы конфигурации x86 и x64. В соответствующих папках найдете скомпилированные сборки. Заголовочный файл и LIB-ы исходного SDK для удобства поместил в папку проекта. Будут вопросы пишите на email: kosuke904@hotmail.com
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
15 августа 2014 г. 12:45 -
Здравствуйте. DLL, которую Вы указали, не является динамической библиотекой, экспортирующей что-либо (у нее пустой раздел экспорта), поэтому использовать ее с DllImport нельзя. Сборкой .NET она также не является. Это, вообще, не известно что. Для создания приложений на C++ достаточно заголовочного файла и LIB-файла. Единственный способ заставить работать предоставленный в h-файле класс в C# - написать управляемую обертку на C++/CLI и использовать ссылку на нее в проекте на C#. Но с C++, как я понимаю, Вы не дружите :) Так что, увы.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Помечено в качестве ответа JusteG 15 августа 2014 г. 11:29
15 августа 2014 г. 11:20
Все ответы
-
Может и Вам подойдет.
Слава Україні!
15 августа 2014 г. 6:14 -
Может и Вам подойдет.
Слава Україні!
По кофейной гуще узнали? Или лишь бы написать что ни будь?
На "может", плохая "надёжа" - не подошло.
15 августа 2014 г. 6:22 -
Здравствуйте. DLL, которую Вы указали, не является динамической библиотекой, экспортирующей что-либо (у нее пустой раздел экспорта), поэтому использовать ее с DllImport нельзя. Сборкой .NET она также не является. Это, вообще, не известно что. Для создания приложений на C++ достаточно заголовочного файла и LIB-файла. Единственный способ заставить работать предоставленный в h-файле класс в C# - написать управляемую обертку на C++/CLI и использовать ссылку на нее в проекте на C#. Но с C++, как я понимаю, Вы не дружите :) Так что, увы.
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
- Помечено в качестве ответа JusteG 15 августа 2014 г. 11:29
15 августа 2014 г. 11:20 -
Спасибо за развернутый ответ. Если вдруг найдется энтузиаст который захочет мне помочь написать обертку, там десяток методов всего, я буду ему безмерно признателен.
- Изменено JusteG 15 августа 2014 г. 11:39
15 августа 2014 г. 11:38 -
Напишу, не вопрос :) Для какой версии .NET нужна сборка?
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
15 августа 2014 г. 11:39 -
Вот это СПАСИБО!
4 или 4,5. Под какую вам удобнее будет.
Еще раз большое спасибо!
15 августа 2014 г. 11:41 -
Здесь лежит проект обертки и тестового приложения на C#. Созданы конфигурации x86 и x64. В соответствующих папках найдете скомпилированные сборки. Заголовочный файл и LIB-ы исходного SDK для удобства поместил в папку проекта. Будут вопросы пишите на email: kosuke904@hotmail.com
Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!
15 августа 2014 г. 12:45 -
Я даже не знаю как вас благодарить. Я правда, безмерно вам признателен!!! Ваш адрес электронной почты, добавил себе в контакты, и отписался вам, так что, наверно лучше будет его убрать с форума, пока его боты не нашли =)
UPD: Все работает как часы. Уже протестировал на своей клавиатуре. Я вам очень признателен. Спасибо. Теперь, я кажется знаю как пройдут мои выходные. ^^
- Изменено JusteG 15 августа 2014 г. 13:45
15 августа 2014 г. 12:49