Gözünü seveyim Linux’un! Onda sorun çıkmıyor ama Win makinalarda sistemde Qt kurulu olsa bile dizin içinden programı çalıştıramıyorsunuz! Yani sadece Qt ile açıp çalıştırılabiliyor. Ama “Release” seçeneği ile dizin içinde oluşturulmuş derlenmiş kod yani exe program tıklama ile çalıştırılamıyor!
Biraz kurcalayınca bu videoyu buldum. Elbette Qt’yi mingw seçeneği ile kurduğunuzda geçerli bu. Derleme işini Visual Studio ile yaparsanız durum ne olur henüz ben de bilmiyorum doğrusu. Win ile pek işim olmadığı için de pek önemi yok. En azından şimdilik. 🙂
Öncelike yazdığınız programı release modundan Qt ile derliyor ve exe programın release dizini içinde oluşturulmasını sağlıyorsunuz. Qt menüsü altındaki mingw konsol oturumu açıyorsunuz. Daha sonra bu ekrandan yazdığınız programın release dizinine giriyor ve exe hariç tüm diğer dosya ve dizinleri siliyorsunuz. Sihirli komut aşağıda:
windeployqt.exe –no-translations OrnekProgram.exe
Bu komutun ardından dizine tüm ihtiyaç duyulan dosyalar ekleniyor ve artık exe dosyaya tıklayarak programınızı çalıştırabiliyorsunuz.
PostgreSQL kullanıyorsanız ek bir işlem daha gerekiyor. Bir önceki yazımda belirttiğim; intl.dll, ssleay32.dll, libpq.dll, libeay32.dll dosyalarını release dizini altına ayrıca kopyalamanız gerekiyor. Gerçi orada sqldrivers dizini görüyorsunuz ama nedense bu dosyalar eksik kalıyor. Bu dosyaları ana dizine yani exe dosyanın bulunduğu yere kopyalarsanız kodun sorunsuz olarak PostgreSQL’e de eriştiğini göreceksiniz…