Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2015, 14:58   #1
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию Создание библиотеки DLL

Здравствуйте!
Я пытаюсь использовать библиотеки DLL.
Проект Визуал Студио 10.
Посмотрите пожалуйста.


Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: static double __cdecl Funcs::MyFuncs::Divide(double,doubl e)" (__imp_?Divide@MyFuncs@Funcs@@SANNN @Z) в функции _wmain D:\Rozbir\ Dll2\Dll2\MyExecRefsDll\MyExecRefsD ll.obj MyExecRefsDll

Ошибка 5 error LNK1120: 4 неразрешенных внешних элементов D:\Rozbir\ Dll2\Dll2\Debug\MyExecRefsDll.exe MyExecRefsDll


https://mega.co.nz/#!LhJB0IZI!tacaDA...Y5--NKN3daNyIA

Что я делаю не так, где ошибаюсь, как вообще собственно создается DLL и как оно работает?

Я не работал ранее с этим mega, вам нормально скачивать?

Последний раз редактировалось Dimka-novitsek; 10.07.2015 в 16:00.
Dimka-novitsek вне форума Ответить с цитированием
Старый 10.07.2015, 16:41   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Подсказка - разберитесь для чего и как используется FUNCSDLL_EXPORTS...

Если убрать все лишние файлы из архива, то получится мааааленький такой архивчик, который можно будет и на форум залить.
waleri вне форума Ответить с цитированием
Старый 10.07.2015, 17:48   #3
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию

разберитесь для чего и как используется FUNCSDLL_EXPORTS...

Да!! Спасибо.. А ведь и правда, что же это такое? Попробую где либо почитать.


А вы знаете. Я вот и сам в ступоре...

Последний раз редактировалось Dimka-novitsek; 10.07.2015 в 17:52.
Dimka-novitsek вне форума Ответить с цитированием
Старый 11.07.2015, 15:48   #4
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию

Пробовал так еще

Код:
// FuncsDll.h

#ifdef Dll2_EXPORTS

и эдак

Код:
// FuncsDll.h

#ifdef MyExecRefsDll_EXPORTS

Объяснения MSDN ну слишком мудрёніе, никак их не понять!!!!!
Dimka-novitsek вне форума Ответить с цитированием
Старый 11.07.2015, 23:25   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Откуда должен взяться Dll2_EXPORTS в констркции #ifdef Dll2_EXPORTS?
waleri вне форума Ответить с цитированием
Старый 16.07.2015, 18:39   #6
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Я Вам уже отправлял, на форуме, прочтите, а так же используйте наипростейшую херню:

Код:
#if _DLL2_EXPORTS
#define _DLL2_API __declspec(dllimport)
#else
#define _DLL2_API __declspec(dllexport)
#endif
или наоборот как удобно

в функциях, что h что cpp

Код:
void _DLL2_API __cdecl foo()
и в зависимости от установок в cpp
Код:
#define _DLL2_EXPORTS 0 /*или 1*/
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 18.07.2015, 23:18   #7
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию

Спасибо!!! Формально очень понятно.

Код:
#if DLL2_EXPORTS
я думаю наиболее правильно вот так, без чёрточки, название проэкта DLL2
и к нему _EXPORTS. Может проблема и не здесь...



Я Вам уже отправлял, на форуме, прочтите, а так же используйте наипростейшую херню:

Я может что-то туплю Не соображу, что вы мне отправляли?
Dimka-novitsek вне форума Ответить с цитированием
Старый 19.07.2015, 19:33   #8
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от Dimka-novitsek Посмотреть сообщение
Я может что-то туплю Не соображу, что вы мне отправляли?
Разумеется в одно из тем в этом разделе, где код скидывали. Я Вам писал, как и где, что ставить (и что заменить, ибо проект у меня почему то оказался консольным).
Цитата:
Сообщение от Dimka-novitsek Посмотреть сообщение
я думаю наиболее правильно вот так, без чёрточки, название проэкта DLL2
и к нему _EXPORTS. Может проблема и не здесь...
При помощи макросов Вы меняете, на этапе создания длл, должен быть export, а на этапе использования, разумеется импорт.

Не разрешённый символ, это означает одно, функция не описана.
Если помог, тут весы есть , Вам не сложно, а мне приятно.

Последний раз редактировалось Perchik71; 19.07.2015 в 19:38.
Perchik71 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание Библиотеки (DLL) Janger Общие вопросы Delphi 2 15.12.2013 12:37
Dll библиотеки Kreker9 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 03.06.2012 14:43
Создание и использование библиотеки DLL .NET Visual C++ на C# Timer32 Помощь студентам 14 03.11.2011 09:18
Создание и использование библиотеки DLL Blew Помощь студентам 0 06.02.2011 14:56
Создание и вызов библиотеки dll DM_bite Помощь студентам 3 15.06.2010 12:47