PDA

View Full Version : سوال: برنامه را با c++ و qt نوشتم حالا چجوی به مشتریم بدم؟



mosi20
سه شنبه 26 مرداد 1389, 00:35 صبح
سلام
من یک برنامه با C++‎ و qt نوشتم و در qtcreator اونو کامپایل کردم و کار میکرده.
از بانک اطلاعاتی sqlite هم استفاده کردم.
حالا میخوام یک فایل نصب براش بسازم و به مشتریم بدم.
چه کارهایی لازم هست که انجام بدم؟
InstallShield 2010 را هم نصب کردم.
من کدام فایل ها را باید در نصاب قرار بدم؟
حجم نصاب برنامه مخوام زیادتر از ۱۰ مگ نشه.
ابتدا سعی کردم qt را به طبق این راهنما استاتیک بکنم ولی ارور میده و دیگه اصلا qt qreator هیچ پروژه ای را برام کامپایل نمیکنه.
( مقدار patch را در ویندوز به C:\Qt\2010.04\qt\bin;C:\Qt\2010.04\mingw\bin;C:\Qt \2010.04\qt\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ WINDOWS\System32\Wbem تغییر دادم )
http://www.qtcentre.org/wiki/index.php?title=Building_static_Qt_on_Windows_with _MinGW
http://www.qtcentre.org/wiki/index.php?title=Building_static_Qt_on_Windows
http://www.qtcentre.org/wiki/index.php?title=Building_static_applications

ارور qt qreator هنگام کامپایل برنامه :


debug\qrc_resources.cpp
g++ -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,windows -o debug\project.exe object_script.project.Debug -L"c:\Qt\2010.04\qt\lib" -lmingw32 -lqtmaind -lQtScriptd -lQtSqld -lQtXmld -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
c:/qt/2010.04/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lQtScriptd
collect2: ld returned 1 exit status
mingw32-make[1]: Leaving directory `W:/code-project/C++‎/sms'
mingw32-make: Leaving directory `W:/code-project/C++‎/sms'
mingw32-make[1]: *** [debug\project.exe] Error 1
mingw32-make: *** [debug] Error 2
The process "C:/Qt/2010.04/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project project (target: Desktop)
When executing build step 'Make'



خواهش میکنم بهم کمک کنید الا ۴ روزه خودم دارم بهش ور میرم و نمیشه .
۱۰ بار qt را کامپایل کردم ( هر بار ۳ ساعت طول کشیده ) ولی نشد.
الان دوباره زدم qt کامپایل بشه.وقتی تموم شد تصویر ارور را هم میزام.

mosi20
سه شنبه 26 مرداد 1389, 02:24 صبح
در موقع کانفیگ بعد ۱ ساعت و خورده ای این را نوشت :

c:\Qt\2010.04\qt\lib\libQtGui.a(qapplication.o):qa pplication.cpp:(.text+0x358a):
undefined reference to `_imp___Z21qt_call_post_routinesv'
c:\Qt\2010.04\qt\lib\libQtGui.a(qapplication.o):qa pplication.cpp:(.text+0x3b2f):
undefined reference to `_imp___Z21qt_call_post_routinesv'
c:\Qt\2010.04\qt\lib\libQtGui.a(qapplication.o):qa pplication.cpp:(.text+0x40ca):
undefined reference to `_imp___Z21qt_call_post_routinesv'
c:\Qt\2010.04\qt\lib\libQtGui.a(qwhatsthis.o):qwha tsthis.cpp:(.text+0x15c): unde
fined reference to `_imp___Z21qDeleteInEventHandlerP7QObject'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [..\..\..\bin\uic3.exe] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/2010.04/qt/src/tools/uic3'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/2010.04/qt/src/tools/uic3'
mingw32-make: *** [sub-uic3-sub_src_target_ordered] Error 2

C:\Qt\2010.04\qt>

mosi20
چهارشنبه 27 مرداد 1389, 13:37 عصر
توروخدا یکی کمک کنه.
الان یک ستاپ ساختم.
حجم ستاپم شد ۶۵ مگ!!!
۶۳ مگش dll هست!!!
چیکار کنم؟
این لینک فایل ستاپم هست http://mohsendavari.com/software/SMS.msi
من دوباره رفتم و از اول این qt را کامپایل کردم ولی بازم ارور میده.
کلا qt ورژن های 4.6.2 , 4.6.3 , 4.7 beta را کامپایل کردم ولی هیچ کدوم کار نمیکنند.
همش این ارور را موقع اجرا میده :

:: error: cannot find -lQtScriptd

حامد مصافی
چهارشنبه 27 مرداد 1389, 18:19 عصر
احتمالا از نسخه debug فايل هاي dll استفاده كرده ايد، براي مثال QtGuid.dll به جاي QtGui.dll

mosi20
چهارشنبه 27 مرداد 1389, 22:53 عصر
بله یک سریش آخرش d داره
حالا حذفشون میکنم
یعنی کلا باید dll باشه؟
تست کردم اطلاع میدم

mosi20
پنج شنبه 28 مرداد 1389, 00:40 صبح
آقا دست درست.
شد ۷ مگ
اینجوری بازم قابل تحمل هست.
ولی در نهایت راهی نداره که اصلا dll نیازی نداشته باشه؟