Не могу вызвать функцию из .dll - C++ - Обсуждение 926769 |
|
Обсуждение
Всего сообщений: 37
|
||||
Имя | Дата | Сообщение | ||
Читать обсуждение полностью: Не могу вызвать функцию из .dll |
||||
NativeLand | 22.07.2013 00:33 |
https://www.cyberforum.ru/post4869048.html
Добрый день ... Полазил по форумам и гайдам ....
Пишу...
|
||
Praktolock | 22.07.2013 05:27 |
https://www.cyberforum.ru/post4869295.html
а ты dumpbin запусти и посмотри таблицу экспорта у твоей dll
|
||
castaway | 22.07.2013 06:47 |
https://www.cyberforum.ru/post4869313.html
Надо писать extern "C"
Добавлено через 4 минуты
Еще...
|
||
NativeLand | 22.07.2013 17:03 |
https://www.cyberforum.ru/post4871157.html
Подправил но теперь не могу собрать библиотеку...:
вот...
|
||
castaway | 22.07.2013 18:10 |
https://www.cyberforum.ru/post4871390.html
NativeLand, в .cpp файле функции тоже оберни в extern "C" {}
|
||
NativeLand | 22.07.2013 20:31 |
https://www.cyberforum.ru/post4871857.html
Обернул .срр в extern "C" .. ничего не поменялось... Есть...
|
||
castaway | 22.07.2013 21:32 |
https://www.cyberforum.ru/post4872116.html
Кинь исходники архивом.
|
||
Praktolock | 23.07.2013 05:08 |
https://www.cyberforum.ru/post4873028.html
HMODULE hmod = LoadLibrary((LPCWSTR)L"mbdll.dll");
...
|
||
NativeLand | 23.07.2013 12:26 |
https://www.cyberforum.ru/post4873839.html
Прикрепил...
Да, действительно .. заминка была именно...
|
||
castaway | 23.07.2013 12:35 |
https://www.cyberforum.ru/post4873873.html
Проблема в .def-файле, там имена функций другие. Я, честно...
|
||
Praktolock | 23.07.2013 12:50 |
https://www.cyberforum.ru/post4873935.html
Студия, например, когда скомпилирует длл, в таблицу...
|
||
castaway | 23.07.2013 12:55 |
https://www.cyberforum.ru/post4873953.html
.def-файл вовсе не обязателен. Модификаторы extern "C",...
|
||
Praktolock | 23.07.2013 12:55 |
https://www.cyberforum.ru/post4873954.html
Убери вообще extern "c", зачем тебе оно, если ты не знаешь...
|
||
castaway | 23.07.2013 12:58 |
https://www.cyberforum.ru/post4873961.html
NativeLand, где ты взял эти имена: ?
|
||
Praktolock | 23.07.2013 12:58 |
https://www.cyberforum.ru/post4873962.html
Для статической линковки - да. Но, как мы видим в коде...
|
||
castaway | 23.07.2013 13:00 |
https://www.cyberforum.ru/post4873971.html
Зачем усложнять себе жизнь, если можно подключить...
|
||
Praktolock | 23.07.2013 13:00 |
https://www.cyberforum.ru/post4873972.html
ТС, оставь в .def файле просто
LIBRARY
EXPORTS
function...
|
||
castaway | 23.07.2013 13:02 |
https://www.cyberforum.ru/post4873980.html
Если оставляешь .def-файл - тогда удаляй...
|
||
Praktolock | 23.07.2013 13:02 |
https://www.cyberforum.ru/post4873983.html
А другие компиляторы, с другими правилами декорирования,...
|
||
castaway | 23.07.2013 13:06 |
https://www.cyberforum.ru/post4873994.html
В самом начале статьи пример.
extern "C" совместно с...
|
||
NativeLand | 23.07.2013 13:12 |
https://www.cyberforum.ru/post4874021.html
Делал по гайду ... Там написано, что линкер же коверкает...
|
||
Praktolock | 23.07.2013 13:13 |
https://www.cyberforum.ru/post4874025.html
вот такой код:
#ifdef __cplusplus
extern "C"
{
#endif...
|
||
castaway | 23.07.2013 13:19 |
https://www.cyberforum.ru/post4874052.html
Такого не может быть. Сейчас специально VS скачаю...
|
||
NativeLand | 23.07.2013 13:24 |
https://www.cyberforum.ru/post4874065.html
Создал новый проект с этим же кодом без .def-файла .....
|
||
castaway | 23.07.2013 13:26 |
https://www.cyberforum.ru/post4874070.html
NativeLand, все правильно линкер создал. Подожди минут 15...
|
||
Praktolock | 23.07.2013 13:29 |
https://www.cyberforum.ru/post4874078.html
А с .def файлом? У меня вот всё собралось и имена есть в...
|
||
castaway | 23.07.2013 13:29 |
https://www.cyberforum.ru/post4874080.html
NativeLand, в папке с готовой .dll есть файл .lib (это...
|
||
NativeLand | 23.07.2013 13:36 |
https://www.cyberforum.ru/post4874101.html
Добавил .def файл такого содержимого:
LIBRARY
EXPORTS...
|
||
Praktolock | 23.07.2013 13:37 |
https://www.cyberforum.ru/post4874108.html
Оставь такое содержимое:
LIBRARY
EXPORTS
function...
|
||
castaway | 23.07.2013 13:38 |
https://www.cyberforum.ru/post4874117.html
Зачем ты себе жизнь усложняешь этими .def-файлами?...
|
||
NativeLand | 23.07.2013 13:46 |
https://www.cyberforum.ru/post4874121.html
Так я уже давно подключил .. и при extern "C++" "начальный...
|
||
Praktolock | 23.07.2013 13:48 |
https://www.cyberforum.ru/post4874151.html
Вот мой вариант:
mbdll.h:
extern "C"
{...
|
||
NativeLand | 23.07.2013 13:55 |
https://www.cyberforum.ru/post4874177.html
Извиняюсь, что запутал ...
.dll собралась ...
В экспорте...
|
||
Praktolock | 23.07.2013 13:57 |
https://www.cyberforum.ru/post4874184.html
значит у тебя по разному обьявлены экспортируемые функции и...
|
||
NativeLand | 23.07.2013 14:03 |
https://www.cyberforum.ru/post4874210.html
Код .exe
#include "stdafx.h"
#include "windows.h"...
|
||
Praktolock | 23.07.2013 14:05 |
https://www.cyberforum.ru/post4874215.html
попробуй так обьявить указатели:
typedef int...
|
||
NativeLand | 23.07.2013 14:11 |
https://www.cyberforum.ru/post4874244.html
И еще раз спасибо, проблема решена!
|
||
|
||||
Similar |
Не могу вызвать функцию из dll С++ в С# в системе Win 7 64bit, MSVS 2008 Вызвать функцию из dll с неопределённым числом параметров Как из DLL вызвать функцию, находящуюся в exe? Не могу вызвать функцию |
|||
Ads |
|
|||
MoreAnswers |
Как вызвать функцию, описанную в DLL через Custom Action в wix? Не могу вызвать функцию через указатель Могу ли я поменять какую-нибудь функцию в готовой dll-ке? Вызвать функцию из dll |
|||