2012-07-27 18 views
11

Qt Creator'da CImg ile bazı görüntü işleme yapan bir uygulama geliştirdim. İç IDE'den çalıştırdığımda iyi çalışır, ancak dizininden başlatmaya çalışırsam, aşağıdaki hatayı atar.QT Sürüm oluşturma DLL prosedürü giriş noktası hatası

The procedure entry point [email protected]@[email protected]$$QAV0AAZ could not be located 
in the dynamic link library QtCore4.dll 

Her şey, yüklü birden çok DLL sürümüne sahip olmak için işaret eder. Xilinx IDE'nin Qt kitaplıklarını kullandığını buldum, ancak söz konusu DLL'ler aynı sürümdeydi. Ben gerçekten yazılım adamı değilim ve burada bir kayıp var.

cevap

14

Kitaplık sürümü aynı olsa bile, uyumlu olmayabilirler. Mesela onlar ... ya STL desteği OpenGL SQL sürücüleri olmadan gibi farklı konfigürasyonlarda ile derlenmiştir

o PATH ortam değişkeninin başında Qt SDK'nın yolunu taşımak olmalıdır düzeltmek için en basit yolu. QtCore4.dll, QtGui4.dll dosyasının kopyasının çalıştırılabilir dizininde bulunmadığı sürece, Qt kitaplıkları gerektiren bir yürütülebilir dosyayı çalıştırdığınızda, SDK (PATH sürümünde bulunanlar) ile yüklenenleri yükleyecektir. Bu nedenle, başvurunuzu yeniden dağıtırsanız, kütüphaneleri kendi dizininde göndermeniz gerekebilir.

Başka bir seçenek statik bağlantıdır, ancak (L) GPL lisansı altında kaynak kodu sağlamanız istenecektir.

+0

Dizinde QtCore4.dll ve QtGui4.dll kopyaları var. Tüm uygulamanın ihtiyacı olması gerekiyor. Statik bağlantı da çalışmıyor. Bunu mühendise atmaya ve komut satırı versiyonunu ele almasını söylemeye hazırım. –

+0

@Matt QtCore4.dll dosyanızı uygulama dizinine koyup hala bu mesajı gösterdiğiniz anlamına mı geliyor? Muhtemelen yanlış bir DLL. Belki de DLL'yi QtCreator'ın dizininden aldınız, ancak SDK olandan almalısınız, çünkü _not_ aynıdır (ve uygulamanız ikincisine bağlıdır). – Claudio

+0

Ran Dependency Walker ve dll'leri dizine yeniden yazdım. Orijinal olarak hangi donanımları kullandığımı bilmiyorum, ama şimdi çalışıyor. –

-1

Kitaplıkları statik olarak bağlamak sorunu ortadan kaldırır.

+6

Ama güçleri:

bu burada yanıta bakın. – Claudio

0

qtcore4.dll dosyasının yüklendiği listeden DependencyWalker öğesini kullanın. Aynı problem vardı - DependencyWalker, qtcore4.dll dosyasının c: \ windows \ system32'den yüklendiğini gösterdi - ancak bu klasörde qtcore4.dll bulunamadı.

Dikkat: Windows 7'de 64 Bit c: \ windows \ SysWOW64, c: \ windows \ system32 olarak "mapped" olur. Ve bu klasörde dll'yi buldum - dll'yi yeniden adlandırdım ve sorun çözüldü. Eğer (L) GPL altında serbest bırakmak için Qt fresh Gui application crashes on startup, faulting at QtCore4.dll

İlgili konular