Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание dll в dev-C++, вопрос 
V
    Опции темы
kerser
Дата 2.4.2008, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



Не получается вызвать функцию из dll. Ошибка такая -   [Linker error] undefined reference to `_Z4funcv@0'.
Подскажите, пожалуйста, что не так делаю.
Функция в dll:
Код

double func()
 {
  double r=2.2222;
  return r;
 }

В заголовочном файле dll:
__declspec(dllexport) double __stdcall func();
В def-файле, который создается автоматически:
Код

; dlltool --base-file C:\DOCUME~1\Sergey\LOCALS~1\Temp/cca02264.base --output-exp KerSerg.exp --dllname KerSerg.dll --output-def libKerSerg.def --no-export-all-symbols --add-stdcall-alias --exclude-symbol=DllMainCRTStartup@12 --def C:\DOCUME~1\Sergey\LOCALS~1\Temp/cca02264.def --output-lib libKerSerg.a
EXPORTS
    _Z4funcv@0 @ 1
    _Z4funcv = _Z4funcv@0 @ 2

Среда разработки - dev-C++.

Это сообщение отредактировал(а) archimed7592 - 3.4.2008, 23:30
PM MAIL   Вверх
Andrey44
Дата 2.4.2008, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



Подключи свой длл заголовочник
#include "твойДлл.h"
#pragma comment( lib, "твойДлл.lib")


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
kerser
Дата 2.4.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



Проект dll состоит из 3-х файлов:
KerSerg.cpp
KerSerg.h
libKerSerg.def
Длл заголовочник подключен в KerSerg.cpp и в windows-приложении.
А вот насчет "твойДлл.lib" - его нет, есть только libKerSerg.def и libKerSerg.a.
Или как его можно создать?
PM MAIL   Вверх
archimed7592
Дата 3.4.2008, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



В случае с Dev-C++(а точнее GCC) прагма не поможет... Как и .lib файл.

kerser, где-то в настройках проекта нужно указать, что при сборке должна использоваться такая-то библиотека(я надеюсь эта библиотека тем же Dev-C++ делается?).

Добавлено через 1 минуту и 13 секунд
Цитата(kerser @  2.4.2008,  15:26 Найти цитируемый пост)
и libKerSerg.a.

Учти, что в настройках нужно будет указать либо KerSerg(без lib и .a), либо -lKerSerg(если прописывать это напрямую ключиком).


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
kerser
Дата 4.4.2008, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



Да, действительно получилось. В параметрах проекта добавил libKerSerg.a. Спасибо за помощь.
 ! 
archimed7592
Не забываем пользоваться кнопкой "вопрос решён" или соответствующей галочкой в форме ответа.


Это сообщение отредактировал(а) archimed7592 - 4.4.2008, 08:01
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0800 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.