Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите сделать библиотеку, ошибка при компилировании, в чем дело 
V
    Опции темы
Acer
Дата 6.3.2009, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

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



Цитата(cooper123 @ 6.3.2009,  18:51)
а это я не понял о какой библиотеке идет речь?

Это я написал как линковать библиотеку к бинарнику, который ты компилишь.

Код

__declspec( dllexport ) void my_function();
__declspec( dllexport ) MyClass {
};

Вот это есть в твоем коде?

Это сообщение отредактировал(а) Acer - 6.3.2009, 19:03
PM MAIL   Вверх
cooper123
Дата 6.3.2009, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Код

__declspec( dllexport ) void my_function();
__declspec( dllexport ) MyClass {
};

Вот это есть в твоем коде?

да есть. 
код тестовой программы в пятом посте с начала по времени 3.3.2009, 20:43

Цитата

Это я написал как линковать библиотеку к бинарнику, который ты компилишь.

понятно. мне это не надо. я пишу только длл которая должна использоваться в готовой программе. 
PM MAIL   Вверх
xvr
Дата 6.3.2009, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Посмотри (через objdump например), какие функции экспортируются из твоей dll и какие из готовой. Возможно они по разному записываются

PM MAIL   Вверх
cooper123
Дата 6.3.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(xvr @ 6.3.2009,  20:31)
Посмотри (через objdump например), какие функции экспортируются из твоей dll и какие из готовой. Возможно они по разному записываются

заработала
спасибащще ограмущщее.  
в гнусной библиотеке функция записывается как _Z11GetIntValuei@4 вместо GetIntValue 
переписал в вызывающей програме и заработало на то как есть и заработало. 

урррраааа!!!!!
а может быть можно сделать так что бы оно по человечески работало?
PM MAIL   Вверх
xvr
Дата 6.3.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(cooper123 @ 6.3.2009,  22:28)
Цитата(xvr @ 6.3.2009,  20:31)
Посмотри (через objdump например), какие функции экспортируются из твоей dll и какие из готовой. Возможно они по разному записываются

заработала
спасибащще ограмущщее.  
в гнусной библиотеке функция записывается как _Z11GetIntValuei@4 вместо GetIntValue 
переписал в вызывающей програме и заработало на то как есть и заработало. 

Это С++ mangling. У gcc и VC они отличаются. 
Цитата

а может быть можно сделать так что бы оно по человечески работало?
Я не знаю, как MingW манглит C++ имена, возможно его можно заставить это делать нормально. Для начала убрать extern "C", если не поможет, добавить extern "C++", поиграться с опциями ком. строки

PM MAIL   Вверх
cooper123
Дата 6.3.2009, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(xvr @ 6.3.2009,  22:55)
Я не знаю, как MingW манглит C++ имена, возможно его можно заставить это делать нормально. Для начала убрать extern "C", если не поможет, добавить extern "C++", поиграться с опциями ком. строки


Devc++ компилит нормально. через длл врапер. 
разберусь теперь. там и майк есть. 

спасибо еще раз. 

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




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


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

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