Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подавить ненавистный Warning _GUID_NULL

1.9K
12 марта 2007 года
SABROG
242 / / 26.01.2006
Есть такое предупреждение

 
Код:
Build
  [Linker Warning] Public symbol '_GUID_NULL' defined in both module C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\IMPORT32.LIB|uuid and C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\UUID.LIB|uuid


Хочу от него избавиться. Возможно ли как-то подавить через #pragma именно его ? Или может есть решение как избавиться от предупреждения ?
309
13 марта 2007 года
el scorpio
1.1K / / 19.09.2006
Обычно подобные ошибки линковки возникают, когда объявление либо реализация чего-либо формируется в двух файлах одновременно. И линковщик не знает, какую реализацию использовать при создании exe.
Первое, на что нужно обращать внимание - это формат h файлов, из-за некорректности которых может возникнуть повторное включение (include) кода заголовочного файла
 
Код:
#ifndef ИМЯ_ФАЙЛА_H
#define ИМЯ_ФАЙЛА_H
// Здесь мы пишем код
#endif


Также проблема может быть с глобальными переменными, объявленными в h.
Исправляем так
 
Код:
// в h файле
extern TMyType MyObject; // предварительное объявление

// в cpp фале
TMyType MyObject; // объявление
1.9K
13 марта 2007 года
SABROG
242 / / 26.01.2006
Я так понял в файле ks.h определяется GUID_NULL

 
Код:
//===========================================================================

#define STATIC_GUID_NULL \
   0x00000000L, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL);
#define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL)

//===========================================================================


А как мне переопределить его в своем коде, чтобы линкер не ругался ?
246
13 марта 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: SABROG
Есть такое предупреждение

 
Код:
Build
  [Linker Warning] Public symbol '_GUID_NULL' defined in both module C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\IMPORT32.LIB|uuid and C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\UUID.LIB|uuid


Хочу от него избавиться. Возможно ли как-то подавить через #pragma именно его ? Или может есть решение как избавиться от предупреждения ?


F1->Index->"Linker Warnings"->Ok
или
клик на ворнинге и F1.

1.9K
13 марта 2007 года
SABROG
242 / / 26.01.2006
Речь о другом, о чем warning я понимаю, знаю как они отключаются в опциях линкера и т.п.

Дело в том, что я сам вручную ни одной библиотеки не подключал, чтобы возник подобный конфликт, если не считать того, что я использую обычные компоненты, которые набросал на форму. И это единственный warning, который возникает во время линковки в моей программе на 5к строк, просто раздражает уже...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог