Amacınız olanı gerçekleştirmenin kolay yolu, CDT ile bir Makefile projesi oluşturmak ve Makefile içindeki her bir uygulamanız için yeni bir hedef kural eklemektir. CDT Makefile projesi ile SCons veya diğer yapı sistemlerini bile kullanabilir ve aynı etkiyi elde edebilirsiniz.
Ayrıca, yönetilen yapıyı nesne dosyaları yerine yürütülebilir dosyaları oluşturmak için kandırabilirsiniz. 'dan -c
seçeneğini kaldır Diğer proje özellikleri içinde C++ derleyici ayarlarının işaretini kaldırın. Bu, kaynak dosyalarınızın her biri için ayrı bir uygulama dosyası oluşturur.
Yapı dizininin içinde oluşturulan uygulama dosyaları, nesne dosya uzantısına sahip olacak ve yürütülebilir olmayacaktır. ../postbuild.sh
veya ../postbuild.bat
ekledikten sonra
rename *.o *.exe
: Windows için
chmod +x *.o
rename -v 's/\.o$//' *.o
veya postbuild.bat
:
Linux için postbuild.sh
: Bunu çözmek için, aşağıdaki gibi proje dizininde bir post yapınızın kodlarını ekleyebilirsiniz derleme ayarlarınızda post build komutu olarak, uygulamalar çalışmaya hazır olacak. Yürütülebilir dosyalardan herhangi birine sağ tıklayın ve Debug As
veya Run As
'u seçin ve yeni bir Çalıştırma yapılandırması oluşturulacak.
Ayrıca, hataları önlemek için yönetilen yapıdaki bağlayıcıyı durdurmanız gerekir. Bu, linker komutunun true
(Linux) veya true.exe
(Windows, msys) olarak değiştirilmesiyle sağlanabilir.
Elbette bu, farklı uygulamaları bağımsız olarak oluşturmam/çalıştırmamı sağlıyor. Bununla birlikte, örneğin yeni uygulamalar eklemek için biraz çaba gerektirir. Ben daha uygun bir yol arıyordum, bu tek başına java sınıfları – dcn
@ dcn için "uygulama olarak çalıştırmak" benzer yapı/çalışma için nesneler olarak kendilerini kullanır: Güncellenmiş cevabı bakın ve işe yarayıp yaramadığını görün. Windows altında test ettim ve test etmek için Ubuntu'ya geçtim. Sizin için işe yaramıyorsa, geri bildirimleriniz değerli olacaktır. –
Bu çözüm gerçekten işe yarıyor.Açıkçası, henüz bulunmadığım bazı eclipse proje seçeneklerini kullanarak daha temiz/zor olmayan bir çözüm bekledim, ama sezgilerim sizin önerilerinizin aldığı kadar iyi olduğunu söylüyor. – dcn