Compartilhar via


Aviso das ferramentas de vinculador LNK4078

várias seções 'section name' encontradas com atributos diferentes

O LINK encontrou duas ou mais seções que têm o mesmo nome, mas atributos diferentes.

Esse aviso pode ser causado por uma biblioteca de importação ou por um arquivo de exportação criado por uma versão anterior de LINK ou LIB.

Recrie o arquivo e vincule-o novamente.

Exemplo

LNK4078 também pode ser causado por uma alteração interruptiva: a seção nomeada por init_seg em x86 era leitura/gravação, agora é somente leitura.

O exemplo a seguir gera o erro 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() {}