Предупреждение средств компоновщика LNK4078
несколько разделов "имя раздела", найденных с различными атрибутами
LINK нашел два или более разделов с одинаковым именем, но разными атрибутами.
Это предупреждение может быть вызвано библиотекой импорта или экспортом файла, созданного предыдущей версией LINK или LIB.
Повторно создайте файл и повторное связывание.
Пример
LNK4078 также может быть вызвано критическим изменением: раздел, названный init_seg в x86, был доступен только для чтения и записи.
Следующий пример создает LNK4078.
// LNK4078.cpp
// compile with: /W1
// LNK4078 expected
#include <stdio.h>
#pragma warning(disable : 4075)
typedef void (__cdecl *PF)(void);
int cxpf = 0; // number of destructors to call
PF pfx[200]; // pointers to destructors.
struct A { A() {} };
int myexit (PF pf) { return 0; }
#pragma section(".mine$a", read, write)
// try the following line instead
// #pragma section(".mine$a", read)
__declspec(allocate(".mine$a")) int ii = 1;
#pragma section(".mine$z", read, write)
// try the following line instead
// #pragma section(".mine$z", read)
__declspec(allocate(".mine$z")) int i = 1;
#pragma data_seg()
#pragma init_seg(".mine$m", myexit)
A bbbb;
A cccc;
int main() {}