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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 240
#1

Конфликт имен в библиотеках - C++

14.07.2014, 15:44. Просмотров 579. Ответов 5
Метки нет (Все метки)

Здравствуйте. Возникла проблема при одновременном подключении #include <X11/extensions/xf86vmode.h>
и #include "FreeImage.h"
Код ошибки:
C++
1
2
3
4
5
6
In file included from GUIImageManager.h:13:0,
                 from main.cpp:13:
/usr/include/FreeImage.h:139:17: ошибка: conflicting declaration «typedef int32_t BOOL»
In file included from /usr/include/X11/extensions/xf86vmode.h:37:0,
                 from main.cpp:9:
/usr/include/X11/Xmd.h:143:16: ошибка: «BOOL» has a previous declaration as «typedef CARD8 BOOL»
Что делать в такой ситуации? Как разрешить конфликт имен?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2014, 15:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конфликт имен в библиотеках (C++):

конфликт имен - C++
пытаюсь вызвать CButton* button= (CButton*)GetDlgItem(IDC_BUTTON); // пишет что определено в WinUser.h пишет error C2660:...

Конфликт имен при множественном наследовании struct - C++
Уважаемые гуру, помогите разрешить конфликт имён в приведённом ниже примере, не изменяя структуру наследования. Заранее спасибо! ...

Использование имен предопределенных объектов в качестве имен переменных - C++
Есть код: #include &lt;iostream&gt; using namespace std; void func() { int cout; cout &lt;&lt;cout &lt;&lt;endl; }

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? - C++
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

Ошибки LNK2001 в библиотеках - C++
Добрый день! Подключил библиотеку SFML к проекту, и в результате получил такие ошибки. Причем, используя Visual Studio 2008 ошибки не...

Область видимости в библиотеках - C++
Есть 2 либы с одинаковыми классами Первая: ----file t1.h ----- #ifndef LOG1_H #define LOG1_H #include &lt;string&gt;

5
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.07.2014, 15:46 #2
DarkVortex, Объявления ведь в глобальном пространстве имен? Если да, то никак. Править инклуды.
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 240
14.07.2014, 15:49  [ТС] #3
Обойдется ли одними инклудами? Если да то какие могут быть последствия? В одном месте BOOL декларируется как unsigned char в другом как int.
0
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.07.2014, 15:52 #4
DarkVortex, Не факт что обойдется, нужно смотреть глубже. Наличие проблем тоже сходу не сказать.
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.07.2014, 16:02 #5
Не подключать оба хидера в одной единице трансляции, для этого разбить соответствующим образом логику на независимые части

Добавлено через 8 минут
Если библиотека header only, то можно попробовать че-нить типа такого:

C++
1
2
3
namespace xxx {
  #include <header.hpp>
}
но тут надо быть осторожным
2
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 240
14.07.2014, 16:20  [ТС] #6
Спасибо nemespace спас положение.
0
14.07.2014, 16:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2014, 16:20
Привет! Вот еще темы с ответами:

Чтение кода в библиотеках - C++
Итак, я уже давно учусь программированию. И вот, я хочу перейти на новый для себя этап, но столкнулся с проблемой. Я не понимаю писанины в...

Работа с классами в динамических библиотеках linux - C++
Всем привет! Никак не могу найти информацию в интернете. Все примеры и описания по подключению динамических библиотек предполагают,...

Использование статических методов класса в динамических библиотеках - C++
Здравствуйте. Прочитав пару тредов, статтей, да поклацав в компилятор у меня получилось слинковать обычную функцию. А как быть с...

Кто-то работал или слышал о библиотеках jrtplib, emiplib? - C++
У меня работа со звуком. Дали мне две библиотеки jrtplib и emiplib, а я об таких даже не слышал. Ребят помогите???


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

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

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