2013-02-25 23 views
16

Benim için belirli kitaplıkları oluşturmak için birkaç makefile sahibim. Şimdi kolaylık sağlamak için bunları bir VS projesine dönüştürmem gerekiyor. VS tarafından sağlanan makefile sihirbazı yardımıyla bir VS projesini makefile dönüştürmenin yollarını bulmak için sadece googled. Ayrıca, VS6'da makefile'yi VS projesine dönüştürmek için bu özelliğin bulunduğunu buldum. Ancak bu özellik daha sonraki sürümler için kaldırılmıştır. Ayrıca, VS6 indirmelerin msdn sitesinde artık mevcut olmadığını fark ettim.Bir makefile bir VS projesine dönüştürme

Makefile'yi görsel stüdyo projesine dönüştürmenin başka yolu var mı? veya VS6'yı bir yerden alabilir miyim?

+1

Aynı problemle karşılaştım. O zamanlar bir çözüm bulamadım. Her neyse, farklı bir fikrim vardı: Bir cmake dosyası yazmaya çalıştın mı? Cmake bir VS Çözüm dosyası oluşturabilmelidir. Belki de cmake yapmak için bir çevirici buluyorsun? – ChaosCakeCoder

cevap

8

Burada sahip olduğunuz tek gerçek seçenek, dönüştürmeyi el ile yapmaktır (veya Makefile Project Wizard'ı kullanın). "Birkaç tane" maketiniz olduğunu, bunun ne kadar olduğunu bilmediğinizi söylüyorsunuz, ama> 10'dan bahsetmediğiniz sürece, bunlar için bir Visual Studio projesi oluşturmak için o kadar çok iş değil. Sonuçta, tek yapmanız gereken yeni bir dll projesi oluşturmak ve buna kaynak dosyalar eklemek. Varsayılan derleyici/linker bayraklarının herhangi bir düzenleme yapması gerekmez. Evet, onları düzeltirseniz, bu değişiklikleri projenin kendisinde değil, özellik sayfasında yaptığınızdan emin olun: Özellik sayfası, diğer projeler tarafından yeniden kullanılabilir, bu DRY ilkesinin basit bir meselesidir.

Bu neden tek gerçek seçenek? Öncelikle, herhangi bir isteğe bağlı makefile bir VS projesine güvenilir bir şekilde dönüştürebilen bir araç yoktur, çünkü makefiller istediğiniz herhangi bir formatta olabilir ve bir çok işlevselliği bir VS projesinde bir karşılığı yoktur. İkinci olarak, VS6 bu tarihte yaklaşık 15 yaşındadır, bu yüzden makinenizde çalışmaya devam etseniz bile, ürettiği çıktı hala eskidir ve kesinlikle projeleriniz için kullanmak istediğiniz şey değildir.

1

Bu CodeProject makalesi: Automatically Translate makefile C/C++ Project for Visual Studio , VS 2013 C/C++ projelerini hedefleyen temel bir çözüm sunmaktadır.

[PS: makalem değil, en azından VS6 sorunuzun ana bölümünü ele alıyor. Bu, basit bir betik ve dolayısıyla başarısızlık için varsayımlar ve fırsatlar ile doludur. Bununla birlikte, , olabilir, ancak projeniz kendi etki alanı içine sığarsa, işe yarayabilir bir başlangıç ​​noktası verir.

Hala gerekecektir:

  • açıkçası ++ dosyaları
  • herhangi derleyici seçeneklerini ayarlamak herhangi bir proje seçeneklerini ayarlamak
  • bağlantı süresi bağımlılıkları eklemek C/C olmayan dosyaları dahil
  • vb.

Bu makalede

  • daha dosyaları aramak için alt dizinlere nükseder gruplara VS bilinen mensup uzantılarına sahip dosyalar için dizini tarar: OES uzakta ... o VBS script.
  • , .vcxproj ve .vcxproj.filters dosyalarını oluşturur.
  • , bulunan dosyaları .vcxproj ve .vcxproj'ye ekler.Filtreler dosyaları

Yani, iç içe projeler varsa komut kendi tekrarlama adımda nasıl çalıştığını değişiklik yapmanıza gerek yok (muhtemel).

İyi şanslar.