Domanda

Progetto Visual C ++ 3 incorporato, che si sta costruendo per PocketPC 2000. Sulla build del braccio, il linker lancia il seguente errore:

Errore fatale LNK1223: file non valido o corrotto: il file contiene contributi PData non validi

Su SH3, il progetto compila, i collegamenti e le opere. Il progetto funziona anche se costruito per ARM su Visual C ++ 2005, ma devo testare le build specificamente da EVC3.

Qualche idea, per favore? Qual è un contributo di pdata e come faccio a influire (o disabilito)? È qualcosa a che fare con la gestione delle eccezioni; Ho provato a disabilitare SEH specificando /EHsc, senza alcun effetto.

È stato utile?

Soluzione

Molto strano. Ho provato a commentare tutto nel file. L'errore è andato via quando ho commentato una funzione che era esterna "C" vuota __declspec (nuda) senza corpo (corpo #ifdef'fed via). Ho funzioni simili nel progetto, ma non hanno lanciato errori come questo. Forse un bug del compilatore ...

Altri suggerimenti

Non ho idea da parte mia, ma il Mind Google ha trascinato questo thread che potrebbe darti un indizio su come risolvere/lavorare il problema ... forse:

Dopo aver esaminato più da vicino l'errore, ho finalmente capito che questo è un effetto collaterale del mio dirottamento di SC_SetDaylightTime() Nel kernel con la mia versione. Apparentemente, qualcosa che sto facendo nel mio codice c'è che il compilatore generasse voci PDATA che sono sbagliate in qualche modo. Un posizionato strategicamente #ifndef ha lavorato intorno a esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top