Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren

Linkertoolwarnung LNK4078

Aktualisiert: November 2007

Fehlermeldung

Es wurden mehrere 'Abschnittsname'-Abschnitte mit unterschiedlichen Attributen gefunden.
multiple 'section name' sections found with different attributes

LINK hat mindestens zwei Abschnitte gefunden, die einen identischen Namen, aber unterschiedliche Attribute besitzen.

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

Erstellen und verknüpfen Sie die Datei neu.

LNK4078 kann außerdem durch eine wichtige Änderung verursacht werden: Der unter x86 von init_seg benannte Abschnitt konnte zuvor gelesen und überschrieben werden und ist nun schreibgeschützt.

Im folgenden Beispiel wird 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() {}

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft