2008-10-13 28 views
6

Bir Qt uygulamasını kütüphaneleriyle ilişkilendirmeye çalışıyorum ve linker (MinGW) yüzlerce satırı aşağıdaki gibi dağıtır ve nasıl devam edeceğime emin değilim.Qt Uygulama muhteşem bir şekilde başarısız oluyor

 
cpp: undefined reference to `_Unwind_SjLj_Register' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x29d):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Unregister' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x38c):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Resume' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x4ce):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Register' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x53e):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Unregister' 
c:/qt/lib/libQtCore.a(qcoreapplication_win.o)(.text+0x635):qcoreapplication_win. 
cpp: undefined reference to `_Unwind_SjLj_Resume' 

cevap

1

herhangi Qt gelişme yoktu çünkü bir süre oldu, ama böyle mesajların büyük sayıları püsküren hatırlıyorum sadece birkaç durumlar da oldu.

  • Qt için dosyalar ı yükseltilmiş zaman bu oldu ... paylaştı kütüphaneleri daha farklı versiyon ve bazı nedenlerden dolayı, elle dosyaları dahil yükseltmek zorunda ekleyin.
  • Qt kitaplıkları tamamen eksikti ... Derleyici çalışmasını hatırlıyorum, ancak ilk başladığımda bağlayıcı başarısız oluyor.

Bir ARM işlemcisini hedef alan Qt geliştirme yapıyordum, bu yüzden çapraz derleme yaparken fazladan garipliklerim vardı.

6

Bilmiyorum ... ama bana göre, Unwind hakkında bir şeyler duymak, kütüphanenin istisnalar ile derlenmiş olup olmadığını ve uygulamanızın istisnalarla derlenmiş olması arasında bir uyumsuzluğun olduğunu gösterir.

Eğer istisnalar istiyorsanız, emin olun sizin qmake dosyasında aşağıdaki satırı ekleyerek bunları sağladı: Eğer istisnalar istemiyorsanız

CONFIG += exceptions 

ya, zıt

CONFIG -= exceptions 
kullanmak

Ve ne yaparsanız yapın, bunu kendiniz ayarlamak için C++ derleyici seçenekleri kullanmayın. i biliyor

0

2 olası nedenler:

  1. Bir gcc3 bağlayıcı ile gcc4 kitaplıkları bağlantı çalışırsanız

    .
-lstdc++ bayrağına ihtiyacınız var.