Visual Studio 2008'de yeni bir C ++ projesi oluşturdum. Henüz kod yazılmadı; Yalnızca proje ayarları değiştirildi.
Projeyi derlediğimde aşağıdaki önemli hatayı alıyorum:
ölümcül hata LNK1104: 'C: \ Program.obj' dosyası açılamıyor
Visual Studio 2008'de yeni bir C ++ projesi oluşturdum. Henüz kod yazılmadı; Yalnızca proje ayarları değiştirildi.
Projeyi derlediğimde aşağıdaki önemli hatayı alıyorum:
ölümcül hata LNK1104: 'C: \ Program.obj' dosyası açılamıyor
Yanıtlar:
Bu özel soruna, yolunda boşluklar olan bir kitaplık dosyasına bir bağımlılık belirtilmesi neden olur. Projenin doğru bir şekilde derlenmesi için yolun tırnak işaretleri içine alınması gerekir.
On Yapılandırma özellikleri -> Bağlayıcı -> Girdi projenin özelliklerinin sekmesi, bir orada Ek bağımlılıklar özelliği. Bu sorun, bu özelliğin değiştirilmesiyle düzeltildi:
C: \ Program Dosyaları \ sofware sdk \ lib \ library.lib
Kime:
"C: \ Program Dosyaları \ sofware sdk \ lib \ library.lib"
Alıntıları eklediğim yer.
"C:\Program Files\sofware sdk\lib\library.lib"
. A'nın olmaması ;
da projenin yanlış derlenmesine neden olacaktır.
Bu, dosya hala çalışıyorsa olabilir.
: -1: hata: LNK1104: 'debug \ ****. Exe' dosyası açılamıyor
Visual Studio'yu kapatıp yeniden açtıktan sonra sorun benim için ortadan kalktı. Sorunun neden meydana geldiğinden emin değilim, ama bu denemeye değer olabilir.
Bu, VS 2013 Ultimate, Windows 8.1 üzerindeydi.
Bunun açık olup olmadığını da kontrol edin: Yapılandırma Özellikleri -> C / C ++ -> Ön İşlemci -> Dosyaya Ön İşlem .
Benim sorunum eksik bir .lib
uzantıydı, sadece bağlantı kuruyordum mylib
ve VS aramaya karar verdi mylib.obj
.
Çözüm 1 (benim durumum için): Windows Gezgini işlemini yeniden başlatın (evet, Windows dosya yöneticisi).
2.Çözüm:
Bazen dosya sisteminin veya onu kontrol eden kişinin izinleriyle kaybolduğunu varsayıyorum. Windows oturumunu yeniden başlatmadan önce, zombi msbuild32.exe
süreçlerini öldürmeye çalışın , görsel stüdyoyu yeniden başlatın, sorunlu dosyayı göstermese bile hiçbirini kontrol edin. Yapılandırma sorunu yok. Arada sırada olur. Windows'taki bazı dahili şeyler düzeltilmez, yeniden başlatılması gerekir.
Aynı hatayı aldım, sadece yüklediğim bir Nuget paketiyle (yalnızca başlık değil) ve sonra kaldırmaya çalıştım.
Benim için yanlış olan şey, .cpp dosyalarımdan birine yeni kaldırdığım paket için bir başlık eklememdi (oldukça aptalca, evet).
Hatta ek kitaplık dizinleri bağlantısını da kaldırdım Project -> Properties -> Linker -> General
, ancak hala var olmayan başlığa başvurmaya çalıştığım için elbette boşuna.
Bu durumda kesinlikle kafa karıştırıcı bir hata mesajı, çünkü başlık adı <boost/filesystem.hpp>
ancak hata bana verdi "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
ve satır numarası veya herhangi bir şey yoktu.
Aynı sorunu yaşadım, ancak benim durumum için çözüm cevaplarda listelenmiyor. Virüsten koruma programım (AVG) dosyayı MyProg.exe
bir virüs olarak belirledi ve 'virüs deposuna' koydu. Bu depoyu kontrol etmeniz ve dosya varsa - o zaman geri yüklemeniz gerekir. Bana yardım etti.
Eksik ana yürütülebilir dosya hakkında şikayet eden linker ile aynı problemle karşılaşıyorum. Bu, yeni Visual Studio 2013'e yönelik çözüm bağlantı noktamız sırasında oldu . Çözüm, yönetilen ve yönetilmeyen projelerin / kodların çeşitli bir karışımıdır. Sorun (ve düzeltme) , çözüm klasöründe eksik bir app.config dosyası olarak sonuçlandı . Bunu anlamak bir gün sürdü :(, çünkü çıktı günlüğü pek yardımcı olmadı.
Tüm ayarlarımı şu listeye göre kontrol ettim: http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Bana yardımcı oldu ve benim durumum için, projelerin özelliklerinin Bağlantı Bağımlılığının çift tırnak içerdiğini öğrendim, ki bu orada olmamalıdır.
Cevap veriyorum çünkü bu özel çözümü başkaları tarafından listelendiğini görmüyorum.
Görünüşe göre antivirüsüm (Ad-Aware), projelerimden birinin bağlı olduğu bir DLL'yi işaretliyor ve onu siliyordu. DLL'nin bulunduğu dizini dışarıda bıraktıktan sonra bile, bilgisayarımı yeniden başlatana kadar aynı davranış devam etti.
Benim durumumda, önceki bir Game Engine Graphics kursundaki matematik kütüphane dosyalarını GLM ile değiştirdim. Sorun, bunları Visual Studio'nun Çözüm Gezgini içindeki projeye eklemememdi (proje havuzunda olsalar bile).
Ben, LNK2038 hatası ile birlikte bu sorunu vardı bu izledi yazı RELEASE ve DEBUG dll ayırmak. Bu süreçte, bu bağımlılıkların bulunduğu tüm klasörü temizledim.
Neyse ki tüm bu dosyaların yedeğini aldım ve bu hatanın sorunu çözmek için DEBUG klasörüne geri attığı dosyayı aldım. Hata kodu bir şekilde yanıltıcıydı çünkü bu ipucuna bu gönderideki cevaplardan birinden tekrar gelmek için çok zaman harcamak zorunda kaldım.
Umarım bu cevap, ihtiyacı olan birine yardımcı olur.
Ben bunu çözmüş ekleyerek bir mevcut bir projeyi etmek benim solüsyon I eklemeyi unuttuğu ilk zamanlarında.
Ben de aynı hatayı aldım:
fatal error LNK1104: cannot open file 'GTest.lib;'
Bu, ;
sonunda neden oldu . Birden fazla kitaplığınız varsa, bunlar boşlukla (boşluk çubuğu) ayrılmalı, virgül veya noktalı virgül kullanmamalıdır!
Bu yüzden ;
kitaplıkları listelerken kullanmayın veya başka bir şey kullanmayın .Project properties >> Configuration Properties >> Linker >> Input
Yukarıdaki çözümü denedim ama benim için işe yaramadı. Bu yüzden exe'yi yeniden adlandırıyorum ve çözümü yeniden oluşturuyorum. Benim için çalışıyor.
Visual Studio 2019'da bir VC ++ DLL oluştururken şu hatayı yaşadım:
LNK1104: 'C: \ Program.obj' dosyası açılamıyor
Özellikler> Bağlayıcı> Girdi> Modül Tanım Dosyası projesi altında ortaya çıktı, dosya adının sonunda eşleşmemiş bir çift tırnak olan bir def dosyası belirtmiştim . Eşleşmeyen çift alıntıyı silmek sorunu çözdü.
Ben de "Visual Studio 2013" ile aynı sorunu yaşıyorum.
LNK1104: cannot open file 'debug\****.exe
Visual stüdyosunu kapatıp yeniden başlattıktan sonra çözüldü.
Aynı sorunu yaşıyordum, kodu yeni projeye kopyaladım ve inşa etmeye başladım. Başka bir hata gelmeye başladı. C4996 hatası: 'fopen': Bu işlev veya değişken güvenli olmayabilir. Bunun yerine fopen_s kullanmayı düşünün
Bu sorunu tekrar çözmek için proje projesine aşağıdaki gibi bir gayrimenkulümü ekledim. Proje -> Özellikler -> Konfigürasyon özelliği -> c / c ++. Bu kategoride Önişlemci Tanımları alan adı var Sorunu çözmek için _CRT_SECURE_NO_WARNINGS ekledim. Yardımcı olacağını umuyoruz ...
Teşekkür ederim