Şu sorularım var: Bir uygulama oluşturmak için bir görev verdim. Bir hazır dosya counter.h ve başka bir dosya vardı - counter.obj. Tezgahta sadece fonksiyonların beyanları vardı çıktı. Nasıl derleme .ppp dosya içine .obj dosyası ekleyebilirim? Microsoft Visual Studio 2010 kullanıyorum - ve dosyanın kendisi hangi klasörde olmalıdır?.obj dosyaları projeye nasıl dahil edilir
cevap
Nesne dosyasını cpp-dosyalarıyla yaptığınız gibi Çözüm'e ekleyin (genellikle bunu sürükle-bırak yöntemiyle yapın, yani dosyayı Windows Gezgini'nden sürükleyin ve bir projeye Çözüm Exporer penceresi).
Nesne dosyasını cpp-files ile birlikte ekleyebilirsiniz; gerçekten önemli değil.
Nesne dosyasını bir cpp dosyasına dahil edemezsiniz.
Derleyici, cpp dosyasını derler ve her cpp dosyası için obj dosyalarını oluşturur, bu dosyalar bir libray veya yürütülebilir dosya oluşturmak için birlikte bağlanır.
Genellikle, kütüphaneleri (.lib
veya .dll
) bir Uygulamaya bağlarsınız, Bunların sizinle olup olmadığını kontrol edin.
Değilse,
Sen tarafından uygulamanıza nesne dosyası bağlama deneyebilirsiniz: nesneye file.Keep adını ekleyin Eğer "Additional Include Directories"
alacak "C/C++"
onların düğümünü seçin "Property Page"
den sonra özelliklerini yansıtmak
git Kendi kaynak kodunuzun bulunduğu dizinde veya dizini şu dizinden ekleyebilirsiniz:
Tools->Options->Projects and Solutions->VC++Directories
.
Yıllar önce akademik projeler dışında ikinci yöntemi denemedim, Bu yüzden emin değilim, Lütfen MSDN'deki bilgileri kontrol edin.
Ancak, Counter.h sınıfında yalnızca Sayaç beyanı var, ancak işlevinin tanımı yok ise ne yapmalıyım? Öğretmen bana ek olarak Counter.obj'u verdi - programı nasıl başlatabilirim - gerçekten sınıfın uygulanışını bilmem gerekmiyor, fakat derlemem için cpp'ye ihtiyacım var - ve Derleyici şunu veriyor: hata LNK2019: çözümlenmemiş harici sembol "public: __thiscall Sayaç :: Sayaç (int) "(?? 0Counter @@ QAE @ H @ Z) işlevinde başvurulan _main –
@ArtemMoskalev: Bu bir ** Bağlayıcı hatasıdır ** çünkü linker, işlevin tanımını bulamadı. nesne dosyasında, cevabımda güncellediğim yöntemi deneyin. –
ölümcül hata LNK1120: 1 çözülmemiş externals - hala bu onu bulamaz! Belki de mustake, dosyaya giden yolu nasıl gösterir? Ben main.cpp ve linker yazdığı dizinin içine koydu: counter.obj –
- 1. Nasıl dahil edilir "bir dizede
- 2. Swift kütüphanesine statik kütüphane nasıl dahil edilir?
- 3. XML'ye LINQ kullanarak CData nasıl dahil edilir?
- 4. Birden çok sütuna nasıl dahil edilir?
- 5. R Data'ın bir pakete nasıl dahil edilir?
- 6. "WordNet Domains", WordNet DB'ye nasıl dahil edilir?
- 7. nmake tarafından oluşturulan obj ve lib dosyaları nasıl temizlenir
- 8. (obj || {}) vs Object (obj)
- 9. İki android projeye nasıl uyarlanır?
- 10. Performans nasıl analiz edilir GNU Dosyaları oluştur
- 11. scala.html dosyaları oyunda dahil olmak üzere skal.html dosyaları
- 12. ansible - koşulu doğruysa, bazı yml dosyaları dahil
- 13. Qt Creator derleme dizininde kaynak dosyaları dahil
- 14. Visual Studio'da kütüphaneci ile .pdb dosyaları dahil
- 15. benim Clion projeye mevcut kaynak dosyaları eklemek çalışıyorum CLION projesi
- 16. Gizli dosyaları ve dizinleri obj-c ile yok say.
- 17. Nesne boyutu (dahil olan nesneler dahil) nasıl bulunur?
- 18. vim omnicompletion'a gerekli dosyaları dahil etmiyor
- 19. pyinstaller onefile veri dosyaları dahil değil
- 20. Raylar varlık borusu - varlık yolunda olmayan varlık nasıl dahil edilir?
- 21. Yuvalanmış ve kardeş ilişkilendirmeleri aktif kayıt to_json'a nasıl dahil edilir?
- 22. SQL_CALC_FOUND_ROWS ve FOUND_ROWS() varolan web uygulamasına nasıl dahil edilir
- 23. Test sınıfları ve test bağımlılıklarını sbt asssembly'a nasıl dahil edilir
- 24. Obj-c
- 25. Visual C++ Komut Satırı Derleyici (CL.EXE) Yönlendirmeli OBJ Dosyaları
- 26. .LIB ve .OBJ dosyaları arasındaki fark nedir? (Visual Studio C++)
- 27. PHP dahil dosyaları kullanırken JQuery onload işlevini nasıl kullanırsınız?
- 28. Clion Bir projeye dosya ekleme
- 29. DATABASE_URL, bir raydan projeye nasıl erişilir cloud9
- 30. Visual Studio 2013'teki veri kümesi için "Projeye dahil et" garip davranışı
Teşekkürler) Bu çok iyi çalıştı! =) –
Bu benim için işe yaramadı. Neden olduğu hakkında hiçbir fikrim yok. – Owl
@Owl Bunun hakkında bir soru sormalısınız. Tam durumunuzu, denediğiniz şeyi ve nasıl başarısız olduğunu açıkladığınızdan emin olun. – anatolyg