共用方式為


連結器工具錯誤 LNK1107

無效或損毀的檔案:無法在位置 位址讀取

此工具無法讀取檔案。 檔案可能已損毀,或具有非預期的檔案類型。

備註

如果傳遞至連結器或相關工具的檔案損毀,可能會發生LNK1107。 若要解決此問題,請重建檔案。

如果您的建置程式將非預期的檔案類型放在傳遞至工具的檔案清單中,也可能會發生LNK1107。 連結器和相關工具預期可在特定檔案類型上運作。 例如,連結器可以使用物件檔、程式庫檔案、編譯的資源和資訊清單來建立可執行檔。 它無法使用原始程式檔或 DLL 來建立可執行檔。 若要解決此問題,請確認您的建置程式只會將預期的檔案類型傳遞至工具。 例如,傳遞 .obj.lib.res 檔案,而不是 .cpp.h.dll.rc 檔案。

如果您嘗試將 .NET 可執行檔模組 (使用 或 /NOASSEMBLY 建立 /clr:noAssembly 的 A .dll.netmodule 檔案) 傳遞給連結器,也可能會發生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