Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Segaman
2 / 2 / 1
Регистрация: 03.09.2014
Сообщений: 146
#1

Cтатическая линковка или "дайте _imp__func, а не __imp_func" - C++

21.04.2016, 17:08. Просмотров 239. Ответов 2
Метки нет (Все метки)

написал DLL, собираю всё в MinGW Code::Blocks
на выходе получаю файл func.a, func.def и func.dll
внутри func.a три раза упоминается __imp_func ,т.е. с 2 подчеркиваниями сначала и 1 после imp
компилятор при сборке программы со статической линковкой к func.a ругается на то, что подчёркиваний вначале должно быть 1, а после imp 2, а в func.a все наоборот.

пробовал линковать к другим проэктам, таже канител: "дайте _imp__func, а не __imp_func"
пробовал пересобирать, бесполезно.
может кто-то сталкивался с такой проблемой?
просто у меня есть ещё 3 dll собранные в той же среде и работающие. они линкуются нормально, а у этой такая проблема

вот main.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef __LIBLOG_H__
#define __LIBLOG_H__
/*---------------------------------------------------------*/
#include <windows.h>
 
#ifdef LIBLOG_BUILD_DLL
    #define DLL_LIBLOG_EXPORT __declspec(dllexport)
    #warning "DLL_LIBLOG_EXPORT dllexport"
#else
    #define DLL_LIBLOG_EXPORT __declspec(dllimport)
    #warning "DLL_LIBLOG_EXPORT dllimport"
#endif
/*---------------------------------------------------------*/
#ifdef __cplusplus
extern "C"
{
#endif
/*---------------------------------------------------------*/
 
int DLL_LIBLOG_EXPORT   func(int count);
 
/*---------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
/*---------------------------------------------------------*/
#endif // __LIBLOG_H__
Добавлено через 59 секунд
текст ошибки:
C++
1
bin\obj x86\config.o:config.cpp:(.text+0x4b): undefined reference to `_imp__func'
Добавлено через 4 часа 1 минуту
пересоздал проэкт, не помогло. всё ещё не собирается
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cтатическая линковка или "дайте _imp__func, а не __imp_func" (C++):

О "нестабильности" или "переполнении" цикла foreach - C++
Здравствуйте, коллеги. Недавно коллега-программист сообщил мне страшную вещь: оказывается, что цикл foreach может переполниться при...

Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd" - C++
вот код, нужно найти 3 минимальных положительных числа в массиве. При размере массива больше 950 в конце заполнения рандомным способом...

Целесообразность написания дополнительных скобок или "с чем плюсы вкуснее?" - C++
Ну, Вам правильно ответили, но второе условие и так будет исполняться. Т.е. если текст не пустой, то будет срабатывать любое из значений, а...

Найти в строке последовательность символов ("abcd") и заменить ее другой ("xyz") - C++
Найти в строке последовательность символов (&quot;abcd&quot;) и заменить ее другой (&quot;xyz&quot;).

Ошибка: invalid conversion from "int" to "SDL_RendererFlip" - C++
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать

CString buff = "aaa" + "bbb" - C++
Хочется одним оператором конкатенировать несколько подстрок CString buff = &quot;aaa&quot; + &quot;bbb&quot; компилятор выдает error C2110: cannot add two...

2
vxg
Модератор
3184 / 1987 / 227
Регистрация: 13.01.2012
Сообщений: 7,680
21.04.2016, 20:36 #2
Может stdcall влепить или в среде декорацию вырубить
0
Segaman
2 / 2 / 1
Регистрация: 03.09.2014
Сообщений: 146
22.04.2016, 10:29  [ТС] #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
проблема была в разрядности.
Code::Blocks по дефолту ставил 64х, а моя программа на 32х написана.
вообщем проблема решилась установкой верной разрядности.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2016, 10:29
Привет! Вот еще темы с ответами:

Qt Creator. Все "за" и "против" - C++
Доброго времени суток, форумчане! Сегодня задался вопросом использования такой IDE, как Qt Creator. Суть темы заключается в том, что я...

Ошибка " Is not a valid integer value " или " sqrt: DOMAIN error " - C++ Builder
Добрый день! Программа должна рассчитать 2-ю диагональ и затем площадь ромба. Но когда присваиваю d2 = Edit3-&gt;Text и s = Edit3-&gt;Text,...

Как указать функцию: "СreateDesktop (или CreateDesktopEx)" - чтобы рабочий стол создался не в "Полноэкранном режиме", а в билдерской форме (TForm)? - C++ Builder
Привет всем... 1 вопрос: Как указать функцию: &quot;СreateDesktop (или CreateDesktopEx)&quot;- чтобы рабочий стол создался не в...

Создание игры "монополия" или по-другому "менеджер" - C++ Builder
Доброго всем дня, задача ставится, написать игру с возможностями OpenGL, дабы создать красочное меню и анимацию, игра подразумевает работа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru