2009-06-30 14 views
6

bir exe.QtCreator projesi ve bir önceki soruda Dediğim gibi, QtCreator için VC++ bir Qt projesini taşıma planlıyorum

proje 4 alt projelerin oluşur: 3'ü kütüphaneleri ve sonuncusu exe yapar. Alt projeler katmanlanır, yani her katmanın altındaki katmanlara zaman bağımlılıkları derler ve bağlanır. Sıfırdan QtCreator verilen proje her yarattık

root 
    lib1 
    lib2 
    lib3 
    main 

şu şekildedir:

dosyalar düzenlenmektedir. Her klasör aynı ada sahip bir pro dosyası içerir (ör. Lib1 -> lib1.pro). Bu yaklaşımı kullanarak, yürütülebilir olanı birbirine bağlayan sonuncu hariç tüm projeleri kurdum. El ile pro dosyasını düzenleyerek ve aşağıdaki kodu ekleyerek ben sabit bağlayıcı hataları başlamıştı:

LIBS += ../path/lib1.a \ 
    ../path/lib2.a \ 
    ../path/lib3.a 

Tüm gayet iyi, lib2 ve Lib1 sembolleri bulamadığını lib3 şikayet şimdi hariç. Lib2.pro dosyasına Addind LIBS çalışmıyor.

ben QtCreator kütüphaneleri ve yürütülebilir çalışma şeklini alamıyorum bir his var. Böyle bir projeyi nasıl düzenlersiniz, böylece doğru şekilde derler ve bağlar mı?

cevap

4

biraz daha sorun üzerinde çalıştıktan sonra, ben GCC araç zinciri için bağlayıcı parametreleri sırası önemli olduğunu hatırladı.

LIBS girişlerini tersine çevirmek hile yaptı.

3

Cevabı bulduğunuza sevindim. Ayrıca eklemek isteyebilirsiniz: .pro dosya kök dizinlere

CONFIG += ordered 

(o subdirs 'profilinde geçerlidir). Qmake'yi, her koşulda listelediğiniz sırayı koruyan Makefiles oluşturmak için zorlar.

+0

Evet, bu seçeneği dokümanlar bölümünde buldum ve şu anda kullanıyorum. İyi yanı, tüm projemi bir kerede yükleyebileceğim, kötü kısım ise her lib'i tek tek oluşturamam. :-) – rpg

İlgili konular