none
DllImport RRS feed

  • Вопрос

  • Всем привет!

    Друзья, подскажите пожалуйста как подключить библиотеку в 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 работает. Заранее бесконечно благодарен.

    Вот ссылка на SDK

    Доки pdf с примерами на C++

    Заголовочный файл C++

    Сама библиотека х32

    Библиотека х64

    • Изменено JusteG 13 августа 2014 г. 2:42
    13 августа 2014 г. 2:32

Ответы

  • Здесь лежит проект обертки и тестового приложения на C#. Созданы конфигурации x86 и x64. В соответствующих папках найдете скомпилированные сборки. Заголовочный файл и LIB-ы исходного SDK для удобства поместил в папку проекта. Будут вопросы пишите на email: kosuke904@hotmail.com

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!


    • Изменено kosuke904 15 августа 2014 г. 12:45
    • Помечено в качестве ответа JusteG 15 августа 2014 г. 13:44
    15 августа 2014 г. 12:45
  • Здравствуйте. DLL, которую Вы указали, не является динамической библиотекой, экспортирующей что-либо (у нее пустой раздел экспорта), поэтому использовать ее с DllImport нельзя. Сборкой .NET она также не является. Это, вообще, не известно что. Для создания приложений на C++ достаточно заголовочного файла и LIB-файла. Единственный способ заставить работать предоставленный в h-файле класс в C# - написать управляемую обертку на C++/CLI и использовать ссылку на нее в проекте на C#. Но с C++, как я понимаю, Вы не дружите :) Так что, увы.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    • Помечено в качестве ответа JusteG 15 августа 2014 г. 11:29
    15 августа 2014 г. 11:20

Все ответы

  • http://stackoverflow.com/questions/10109590/unable-to-find-an-entry-point-when-calling-c-dll-in-c-sharp

    Может и Вам подойдет.


    Слава Україні!

    По кофейной гуще узнали? Или лишь бы написать что ни будь?

    На "может", плохая "надёжа" - не подошло.

    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

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!


    • Изменено kosuke904 15 августа 2014 г. 12:45
    • Помечено в качестве ответа JusteG 15 августа 2014 г. 13:44
    15 августа 2014 г. 12:45
  • Я даже не знаю как вас благодарить. Я правда, безмерно вам признателен!!! Ваш адрес электронной почты, добавил себе в контакты, и отписался вам, так что, наверно лучше будет его убрать с форума, пока его боты не нашли =)

    UPDВсе работает как часы. Уже протестировал на своей клавиатуре. Я вам очень признателен. Спасибо. Теперь, я кажется знаю как пройдут мои выходные. ^^


    • Изменено JusteG 15 августа 2014 г. 13:45
    15 августа 2014 г. 12:49