Partilhar via


Aviso de ferramentas de vinculação LNK4078

Várias seções de 'nome da seção' encontradas com atributos diferentes

Observações

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 arquivo de exportação que foi criado por uma versão anterior do LINK ou LIB.

Recrie o arquivo e revincule.

Example

LNK4078 também pode ser causada por uma alteração disruptiva: a seção nomeada init_seg em x86, que antes era de leitura/gravação, é agora somente de leitura.

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