无效或损坏的文件:无法读取位置地址
备注
该工具无法读取文件。 该文件可能已损坏,或者具有意外的文件类型。
如果传递给链接器或相关工具的文件已损坏,则可能会出现 LNK1107。 若要解决此问题,请重新生成文件。
如果生成过程将意外的文件类型置于传递给该工具的文件列表中,也可能发生 LNK1107。 链接器和相关工具预期适用于特定文件类型。 例如,链接器可以使用对象文件、库文件、编译的资源和清单来创建可执行文件。 它无法使用源文件或 DLL 创建可执行文件。 若要解决此问题,请验证生成过程是否仅将预期的文件类型传递给该工具。 例如,传递 .obj、.lib 和 .res 文件,而不是 .cpp、.h、.dll或 .rc 文件。
如果尝试将 .NET 可执行文件模块(使用 .dll 或 .netmodule 创建 /clr:noAssembly 或 /NOASSEMBLY 文件)传递给链接器,则也会发生 LNK1107。 若要解决此问题,请改为传递 .obj 文件。
示例
使用 cl /clr /LD LNK1107.cpp 编译此示例:
// LNK1107.cpp
// compile with: /clr /LD
public ref class MyClass {
public:
void Test(){}
};
如果随后在命令行上指定 link LNK1107.dll ,将获得 LNK1107。 若要解决此错误,请改为指定 link LNK1107.obj。