2016-04-01 16 views
-1

Ben açık cv kullanın, Qt5.5 ile bir uygulama yaptım. Çalışıyor, şimdi çeşitli bilgisayarlarda dağıtmak istiyorum.Neden benim Qt uygulaması bir bilgisayarda msvcp120d.dll isteyin ama benim değil

İlk bilgisayarda (PC1), o da çalışıyor: Qt'nin dll'sini kopyalayıp cv'yi kopyalayıp ortam değişkenlerindeki yolları ekleyin. Uygulamamla bir klasör kopyaladım, bazı dll ve veriler (resimler).

İkinci bilgisayarda (PC2), aynısını yaptım, ancak uygulamayı açamıyorum. "Msvcp120d.dll eksik .." hatası var.

  • Uygulamamı serbest bırakma modunda derledim.
  • Bilgisayarımda ve PC1'de msvcp120d.dll dosyasını masaya taşıdım ve uygulama bunu istemiyor.
  • Uygulamanın neden bir hata ayıklama sorduğunu biliyor musunuz dll?
  • Kısa bir süre sonra yeniden dağıtılabilir paketleri Visual C++ (x64 ve x86) PC2'ye yükledim, ancak msvcp120d.dll yüklenmiyor.

Başka bir fikriniz var mı? thanks '

cevap

2

Kullandığınız kitaplıklardan bazıları bir Debug CRT kitaplığına ("msvcp120d.dll" dosyasında d ile belirtilir) bağlanır gibi görünüyor. Bunlar yeniden dağıtılamaz ve yalnızca Visual Studio'nun yüklü olduğu sistemlerde kullanılabilir.

Hata ayıklama sürümüne gereksinim duyan dlls/library'leri bulmak ve sonra bunları serbest bırakma yapılandırması olarak yeniden derlemek için bağımlılık yürüteç kullanmanız önerilir.

+0

Opencv hata ayıklama libresi yoksa uygulamanın çalışmadığını fark ediyorum, bu muhtemelen budur. Bununla birlikte, debug'un lib'unu qmake'de yorumluyorum. Yani neden bunu istediğini bilmiyorum ..? –

+0

(Sonra qmake'yi çalıştırdım ve opencv'in serbest bırakılmasına izin verdim) –