9

我正在尝试将 .obj 模型加载到我的 c++ opengl 3 代码中,但由于某种原因,它给了我这个错误:

1>正在链接... 1>.\bunny.obj:致命错误 LNK1107:无效或损坏的文件:无法在 0x6592 处读取

我试图搜索类似的错误,但有关于 .dll 或 .lib 的错误。

你能帮我解决这个问题吗?我也尝试过使用不同的 obj 模型,但它总是给我这个错误。

4

2 回答 2

9

您正在尝试使用 C++ 链接器加载您的对象模型(可能您刚刚将它添加到项目中,现在它尝试被编译)。链接器可以处理 .obj 文件,但它会等待它们成为“目标代码”文件(通常也具有 .obj 扩展名),这些文件只是已编译的模块(例如用 C++ 语言编写),可以链接到单个可执行文件中或 DLL。

C++ 编译器的任何部分都不能读取图形对象模型。您应该从 IDE 项目中删除 .obj 文件。并确保您有一个在程序运行时读取文件的代码。

如果您希望将对象模型嵌入到您的 .EXE 中(因此程序不需要其目录中的文件),那么您可以将其放入资源中并将它们与可执行文件链接。

于 2013-05-04T11:13:30.777 回答
8

我遇到了同样的问题,并通过从构建中排除 .obj 文件来解决它。换句话说:

  1. 右键单击您的 .obj 文件。
  2. 点击“属性”
  3. 将“从构建中排除”设置为“是”
于 2016-06-24T20:46:55.750 回答