Slavka_online
@Slavka_online
Интересная личность

Как ограничить зону использования библиотеки?

Такая проблема что в main подключаются две библиотеки, но так оказалось что в них по разному переопределены одни и те же типы, и возникает конфликт что тип "BOOL" два раза определен через typedef, как избежать этого конфликта?
  • Вопрос задан
  • 322 просмотра
Решения вопроса 1
Olej
@Olej
инженер, программист, преподаватель
в main подключаются две библиотеки,

Судя по дальнейшему тексту, не 2 библиотеки вас беспокоят, а 2 хэдер-файла (*.h)?

Если это заголовочные файлы из вашего проекта, то можно в каждом из них обложить препроцесорным:
#ifndef BOOL
typedef ... BOOL // как вы там его определяете?
#endif

Если же это заголовки из каких-то стандартных пакетов, в коде которых нет смысла что-то менять, то попробуйте при их подключении что-то типа такого:
#include <xxx.h>
#undef BOOL
#include <yyy.h>


Это всё при условии, что ваши 2 определения BOOL идентичны (или хотя бы совместимы). В противном случае ... вы приехали.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы