Bagikan melalui


Kesalahan alat linker LNK1107

file tidak valid atau rusak: tidak dapat membaca di alamat lokasi

Alat ini tidak dapat membaca file. File mungkin rusak, atau memiliki tipe file yang tidak terduga.

Keterangan

LNK1107 dapat terjadi jika file yang diteruskan ke linker atau alat terkait rusak. Untuk mengatasi masalah ini, bangun ulang file.

LNK1107 juga dapat terjadi jika proses build Anda menempatkan jenis file yang tidak terduga dalam daftar file yang diteruskan ke alat. Linker dan alat terkait mengharapkan untuk bekerja pada jenis file tertentu. Misalnya, linker dapat menggunakan file objek, file pustaka, sumber daya yang dikompilasi, dan manifes untuk membuat file yang dapat dieksekusi. Ini tidak dapat membuat file yang dapat dieksekusi dengan menggunakan file sumber atau DLL. Untuk mengatasi masalah ini, verifikasi bahwa proses build Anda hanya meneruskan jenis file yang diharapkan ke alat. Misalnya, teruskan .objfile , .lib, dan .res , bukan .cppfile , , .h.dll, atau .rc .

LNK1107 juga dapat terjadi jika Anda mencoba meneruskan modul yang dapat dieksekusi .NET (A .dll atau .netmodule file yang dibuat dengan /clr:noAssembly atau /NOASSEMBLY) ke linker. Untuk mengatasi masalah ini, teruskan file sebagai gantinya .obj .

Contoh

Kompilasi sampel ini dengan menggunakan cl /clr /LD LNK1107.cpp:

// LNK1107.cpp
// compile with: /clr /LD
public ref class MyClass {
public:
   void Test(){}
};

Jika Anda kemudian menentukan link LNK1107.dll pada baris perintah, Anda akan mendapatkan LNK1107. Untuk mengatasi kesalahan, tentukan link LNK1107.obj sebagai gantinya.