2013-05-04 22 views
6

Sto cercando di caricare un modello di obj nel mio codice C++ OpenGL 3, ma per qualche motivo mi dà questo errore:obj: Errore irreversibile LNK1107: file non valido o danneggiato: non può leggere al 0x6592

1> Collegamento ... 1> \ bunny.obj:. errore irreversibile LNK1107: file non valido o danneggiato: non può leggere a 0x6592

ho provato a cercare errori simili, ma ci sono stati circa dll di o .lib di.

Potete per favore aiutarmi con questo problema. Ho anche provato con diversi modelli obj ma mi dà sempre questo errore.

+0

Sembra che si sta cercando di creare un collegamento con un modello grafico obj. Non è così che funziona! Il tuo programma dovrebbe leggerlo in fase di runtime. Visual Studio si collega con il file .obj, ma non è esattamente la stessa cosa. – Nbr44

risposta

8

Si sta tentando di caricare il modello di oggetto con un linker C++ (probabilmente lo si è appena aggiunto al progetto e ora tenta di essere compilato). Il linker può elaborare file .obj, ma attende che siano file 'object-code' (che spesso hanno anche estensione .obj), che sono solo moduli compilati (ad esempio scritti in linguaggio C++) pronti per essere collegati in un singolo eseguibile o DLL.

Nessuna parte di un compilatore C++ è in grado di leggere il modello di oggetti grafico. Dovresti rimuovere il file .obj dal tuo progetto IDE. E assicurati di avere un codice che legge il file quando viene eseguito il programma.

Se si desidera che il modello oggetto sia incorporato nel file .EXE (in modo che il programma non richieda il file nella sua directory), è possibile inserirlo in risorse e collegarlo all'eseguibile.

0

Ho avuto lo stesso problema e l'ho risolto escludendo il file .obj dalla build. In altre parole:

  1. Fare clic con il pulsante destro del mouse sul file obj.
  2. Fare clic su 'Proprietà
  3. Set 'Escludi dalla build' 'Sì'