Bir önceki yazımızda hesap makinesi uygulaması yapmıştık. Uygulamayı IDE içerisinden sorunsuz çalıştırıyoruz. Ancak uygulamayı başka bir bilgisayarda çalıştırmak istiyorsak bir dizi işlem yapmalıyız...
Öncelikle ilk proje oluşumu sırasında seçtiğimiz ayarları hatırlayalım. Derleyici olarak mingw, build system olarak qmake seçimini yapmıştık...
Varsayılan olarak Qt IDE debug moda ayarlıdır ve uygulamayı çalıştırdığımızda bir derleme işlemi yaparak uygulamayı akrana getirir.
Bu esnada arka planda IDE bir build klasörü oluşturur. Klasör içeriğine bakalım.
Uygulamanın exe dosyası burada mevcut ancak doğrudan çalıştırmak istediğimizde bir dizi dll hatası alıyoruz. Eksik Dll dosyaları zaten sistemimizde mevcut ancak manuel olarak dll leri toparlasak bile programımız düzgün bir şekilde çalışmayabilir. O halde doğru yöntemin nasıl olduğuna bakalım...
Öncelikde IDE yi Release moda ayarlayıp arkasından programımızı yine IDE üzerinden bir defa çalıştıralım.
Bu sayede arka planda release klasörü oluşacaktır.
Exe dosyamız artık debug yerine release klasörü içerisinde yer almaktadır. Hala tek başına çalışabilir durumda olmamakla beraber bizim için referans olacaktır. IDE tarafındaki hazırlıklarımız tamam. Bu aşamadan sonra Qt nin windeployqt.exe aracından faydalanacağız.
Qt nin kısayolları içerisinde komut istemi penceresini açan bir kısayol bulunmaktadır. Buradaki kısayol kullanılarak komut istemi penceresi açılır. (Aslında standart komut istemi açılıyor ancak parametre ile windeployqt.exe ye path tanımlıyor. kısayolu bulamazsanız sistem manuel olarak path tanımlaması yapabilirsiniz)
Komut istemi açıldıktan sonra windeployqt yazarak programın çalıştığını doğrulayalım...
Release klasörüne geri dönelim. Exe dışındaki dosyaları silelim ve dosya yolunu kopyalayalım.
Komut istemi penceresine geri dönelim ve "cd ctrl+v" ile dosya yolunu yapıştıralım ve komut isteminden release klasörüne ulaşalım.
"windeployqt --quick ." yazarak enter tuşuna basalım.
Exe dosyamızın ihtiyaç duyduğu tüm dosyalar release klasörü içerisine toplanacaktır.
Release klasörünü olduğu gibi başka bir bilgisayara taşıdığınızda programınız çalışacaktır. Bu aşamadan sonra isterseniz bir harici bir program ile setup dosyası oluşturarak başka bir bilgisayar taşıma işlemini belli bir düzen içerisinde yapabilrisiniz.
Bu yöntemi kullanarak dll dosyaları ile dinamik bir bağlantı oluşturduk.