предупреждение LNK4254: раздел «ATL» (50000040) объединен в «.rdata» (40000040) с различными атрибутами

Я получаю это предупреждение много раз для моего проекта:

warning LNK4254: section 'ATL' (50000040) merged into '.rdata' (40000040) with different attributes

Я компилирую с использованием Visual Studio 2010 Professional Edition, версии 2010 компилятора, но VC ++ 2005 библиотеки.

Это, кажется, причина. Если я использую библиотеки 2010 года или компилятор 2005 года, проблема исчезает без изменений в коде. Тем не менее, я хочу использовать библиотеки 2005 и компилятор 2010 вместе, если возможно.

Кто-нибудь знает, как это исправить, или эти предупреждения определенно безопасно игнорировать / отключать?

Спасибо.

РЕДАКТИРОВАТЬ: Кажется, проблема вызвана изменением в atlbase.h:

2005:

#if defined(_M_IA64) || defined(_M_IX86) || defined (_M_AMD64)

#pragma section("ATL$__a", read, shared)
#pragma section("ATL$__z", read, shared)
#pragma section("ATL$__m", read, shared)
extern "C"{
__declspec(selectany) __declspec(allocate("ATL$__a")) _ATL_OBJMAP_ENTRY* __pobjMapEntryFirst = NULL;
__declspec(selectany) __declspec(allocate("ATL$__z")) _ATL_OBJMAP_ENTRY* __pobjMapEntryLast = NULL;
}

#if !defined(_M_IA64)
#pragma comment(linker, "/merge:ATL=.rdata")
#endif

#else

extern "C"{
__declspec(selectany) _ATL_OBJMAP_ENTRY* __pobjMapEntryFirst = NULL;
__declspec(selectany) _ATL_OBJMAP_ENTRY* __pobjMapEntryLast = NULL;
}

#endif  // defined(_M_IA64) || defined(_M_IX86)

2010:

#pragma section("ATL$__a", read)
#pragma section("ATL$__z", read)
#pragma section("ATL$__m", read)
extern "C"{
__declspec(selectany) __declspec(allocate("ATL$__a")) _ATL_OBJMAP_ENTRY* __pobjMapEntryFirst = NULL;
__declspec(selectany) __declspec(allocate("ATL$__z")) _ATL_OBJMAP_ENTRY* __pobjMapEntryLast = NULL;
}

#if !defined(_M_IA64)
#pragma comment(linker, "/merge:ATL=.rdata")
#endif

Но я не понимаю, как использовать эти знания для решения моей проблемы 🙁

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector