Fel LNK2004 för länkverktyg

gp relative fixup overflow till 'target'; det korta avsnittet 'section' är för stort eller utom räckhåll.

Anmärkningar

Avsnittet var för stort.

Lös det här felet genom att minska storleken på det korta avsnittet, antingen genom att uttryckligen placera data i de långa avsnitten via #pragma section(".sectionname", read, write, long) och använda __declspec(allocate(".sectionname")) datadefinitioner och deklarationer. Ett exempel:

#pragma section(".data$mylong", read, write, long)
__declspec(allocate(".data$mylong"))
char    rg0[1] = { 1 };
char    rg1[2] = { 1 };
char    rg2[4] = { 1 };
char    rg3[8] = { 1 };
char    rg4[16] = { 1 };
char    rg5[32] = { 1 };

Du kan också flytta logiskt grupperade data till en egen struktur som är en samling data som är större än 8 byte, som kompilatorn allokerar i ett långt dataavsnitt. Ett exempel:

// from this...
int     w1  = 23;
int     w2 = 46;
int     w3 = 23*3;
int     w4 = 23*4;

// to this...
struct X {
    int     w1;
    int     w2;
    int     w3;
    int     w4;
} x  = { 23, 23*2, 23*3, 23*4 };

Det här felet följs av ett allvarligt fel LNK1165.