Sdílet prostřednictvím


Upozornění linkerů LNK4078

Několik oddílů název oddílu nalezených s různými atributy

Odkaz našel dva nebo více oddílů, které mají stejný název, ale různé atributy.

Toto upozornění může být způsobeno knihovnou importu nebo exportním souborem vytvořeným předchozí verzí LINK nebo KNIHOVNY.

Znovu vytvořte soubor a znovu ho propojte.

Příklad

LNK4078 může také způsobovat zásadní změna: oddíl pojmenovaný init_seg na platformě x86 byl jen pro čtení a zápis, je teď jen pro čtení.

Následující ukázka vygeneruje 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() {}