2010-03-17 15 views
6

CDT 7'nin normal bir ifade hatası ayrıştırıcısına sahip olacağını biliyorum, ancak şimdi CDT 6 kullanıyorum.Eclipse CDT Harici gcc tabanlı oluşturucu için Hata Ayrıştırıcı

Derlememi tetiklemek için bir kabuk komut dosyasını çağıran harici bir CDT oluşturucu var (Jam tabanlı). Yapı GCC'yi kullanır ve hatalar ve uyarılar bir Konsol görünümüne aktarılır, ancak elbette hiçbir hata ayrıştırıcı buna bakmaz ve Sorunlarım görünümünde hiçbir şey görünmez.

CDT'yi, Sorunlar görünümünü doldurmak için konsol çıkışımdaki GCC tarayıcısını kullanacak şekilde yapılandırmanın bir yolu var mı? GCC ayrıştırıcısı etkinleştirildi, sadece çıktıma bakmıyor.

cevap

3

Bu soru hala gerçek olup olmadığından emin değilim, ama şu çözüm Sorunları görüntülemek doldurmak için çalışmalıdır:

1) CDT boş C++ Makefile yaratmak (en

) solution1 diyelim 2) Projenin içerik menüsünden (Proje Gezgini) "İçe Aktar ..." ı seçin "İçe Aktar ..." seçeneğini seçin. "İçe Aktar" sihirbazında "Genel/Dosya Sistemi" ni seçin, "İleri" ye tıklayın ve kaynak dizini seçin. Ne yazık ki CDT 6, CDT 7 gibi dosyalara referans oluşturmaya izin vermemektedir. Bunun yerine, tüm kaynakları çalışma alanındaki projenin konumuna kopyalayacaktır. Bu yüzden, içe aktardığınız en büyük dizin Jamroot'u içermelidir. İçe Aktar iletişim kutusundaki gerekli tüm dosyalar ve klasörler için tüm kutuları işaretlemeyi unutmayın.

İçe aktarma için daha zarif bir alternatif olarak, tutulma projesinde bir Klasör oluşturabilir ve gerekli RIP dosyasını içeren kaynak klasöre bağlayabilirsiniz - ipucu için teşekkürler Vanuan.

4) CDT Oluşturucu ve Tarayıcı Yapılandırma Oluşturucu hem Üreticileri sayfasında seçili olduğundan emin olun: dosyaların açık proje özelliklerini eklenir ve aşağıdaki değişiklikler yaptıktan sonra

. CDT Builder Özellikleri için "Otomatik Oluşturma Sırasında" seçeneği dışındaki tüm seçenekleri işaretlemenizi öneririm

5) "C/C++ Oluşturma" sayfasında "Varsayılan Yapı Komutunu Kullan" seçeneğinin işaretini kaldırın ve "$ {HOME}/boost" gibi bir şey koyun. yapı/bin/bjam ". "Yerleşim Yeri" bölümünde, klasörü proje hiyerarşisinden oluşturmak istediğiniz gerekli jamfile yerleştirmelisiniz. Örneğin, "${workspace_loc:/solution1/Server}"

6) "Davranış" sekmesine geçin ve ve "() artan İnşa" "temiz" seçenekleri için gerekli bjam parametreleri ekleyin. "Kaynakta kaydetme (Otomatik Oluşturma)" seçeneğinin işaretini kaldırın "

7)" C/C++ Yapılandırma/Ayarlar/Hata Ayrıntıları "bölümünde gerekli tüm ayrıştırıcıları seçin. Diğer her şey varsayılan durumda bırakılmalıdır.

Bundan sonra gitmek için iyi olmalısınız.

Kaynak ağacınızda birden çok projeniz varsa ve "İçe Aktar" yaklaşımını kullanırsanız, her bir proje için ayrı bir yapı yapılandırması oluşturmak ve bunlar için karşılık gelen "Yapı Konumu" değerlerini belirtmek mantıklıdır. CDT 7'yi kullanıyorum ve fiziksel kopyalar oluşturmak yerine kaynak klasörlere yapılan referansları içe aktarmaya izin verdiğim için, hedef Jamfiles'in her biri için çalışma alanında ayrı bir eclipse projesi oluşturuyorum. CDT 6'da, kaynakları içe aktarmak yerine bağlı bir klasör eklediyseniz de çalışır.

+0

CDT 6'da referanslar oluşturmaya izin verilmiyor: aslında başka bir konuma bağlı bir klasör oluşturabilirsiniz. Ayrıca mevcut bir projeyi özel yoldan (bağlantılı) çalışma alanına da aktarabilirsiniz. – Vanuan

+0

Ayrıca, Jam derleme sistemi tüm projeleri aynı anda oluşturmak için yeterince güçlü olduğundan, ayrı yapılandırma yapılandırmaları oluşturmanın da bir anlamı yoktur. – Vanuan

+0

Ayrı yapıyla ilgili olarak: iş akışınıza ve kaynak ağacınıza bağlıdır. Örneğin, mevcut olana birden fazla kardeş projesi varsa ve şu anda mevcut olana odaklanıyorsanız, bina kapsamını bununla sınırlamak isteyebilirsiniz. CDT projesine Klasörlere bağlantı eklemeyle ilgili olarak, bu iyi bir fikir ve işe yarıyor gibi görünüyor. Cevabımı onunla güncelleyeceğim. – Krit

İlgili konular