Linkertoolwarnung LNK4078

Mehrere Abschnitte mit "Abschnittsname" mit unterschiedlichen Attributen gefunden

LINK hat zwei oder mehr Abschnitte gefunden, die denselben Namen haben, aber unterschiedliche Attribute.

Diese Warnung kann durch eine Importbibliothek oder Exportdatei verursacht werden, die von einer früheren Version von LINK oder LIB erstellt wurde.

Erstellen Sie die Datei neu, und verknüpfen Sie sie erneut.

Beispiel

LNK4078 kann auch durch eine fehlerhafte Änderung verursacht werden: Der abschnitt, der von init_seg auf x86 mit Lese-/Schreibzugriff benannt wurde, ist jetzt schreibgeschützt.

Im folgenden Beispiel werden LNK4078 generiert.

// 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() {}