次の方法で共有


リンカー ツールの警告 LNK4078

異なる属性を持つ、複数の 'section_name' セクションが見つかりました

LINK で、同じ名前で属性が異なる 2 つ以上のセクションが見つかりました。

この警告は、以前のバージョンの LINK または LIB によって作成されたインポート ライブラリまたはエクスポート ファイルが原因で発生する可能性があります。

ファイルを再作成して再リンクします。

LNK4078 は、x86 の init_seg という名前のセクションが読み取りまたは書き込み専用であるという、破壊的変更によっても発生する可能性があります。

次の例では 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() {}