2013-05-04 54 views
6

我想一個.OBJ模型加載到我的C++的OpenGL 3碼讀取,但由於某種原因,它給了我這個錯誤:.OBJ:致命錯誤LNK1107:無效或損壞的文件:不能在0x6592

1>鏈接... 1> \ bunny.obj:致命錯誤LNK1107:無效或損壞的文件:不能在0x6592

我試圖尋找類似的錯誤讀,但有大約.dll文件的或.LIB的。

你能幫我解決這個問題嗎?我也嘗試過不同的obj模型,但它總是給我這個錯誤。

+0

它看起來像你想用的obj圖形模型聯繫起來。這不是它的工作原理!你的程序應該在運行時讀取它。 Visual Studio確實與.obj文件鏈接,但這不完全相同。 – Nbr44 2013-05-04 11:00:28

回答

8

您正在試圖用C++連接器來加載對象模型(可能是您剛剛把它添加到項目,現在它試圖編譯)。 接頭可以處理的obj文件,但它等待他們是「目標代碼」的文件(其也常常有.OBJ擴展),其剛編譯的模塊(例如用C++編寫語言)準備好被鏈接成一個單一的可執行文件或DLL。

C++編譯器的任何一部分都不能讀取圖形對象模型。您應該從IDE項目中刪除.obj文件。並確保你有一個程序運行時讀取文件的代碼。

如果你想對象模型嵌入到您的.EXE(所以程序不要求在其目錄中的文件),那麼你可以把它變成資源,並在執行其鏈接。

0

我有同樣的問題,並通過從構建中排除.obj文件解決它。換句話說:

  1. 右鍵單擊您的.obj文件。
  2. 點擊「屬性
  3. 集‘從建設’到‘排除是’
相關問題