سؤال

وأنا أحاول لبناء <م> qtestlib / tutorial1 سبيل المثال ، لكن testqstring.moc لا يتم إنشاء ملف عند تشغيل nmake (أنا على التوالي كيو تي 4.5.2 على نظام التشغيل Windows XP SP3).
أنا نسخ <م> testqstring.cpp من الدليل التعليمي إلى الدليل بناء بلدي (<م> C: \ الرمل \ testqstring ) ومن ركض موجه الأوامر كيو تي vsvars32.bat الملف من MS بلدي البصرية ستوديو 8 التثبيت لإضافة متغيرات البيئة VS.

ووفقا للالبرنامج التعليمي، ويجب تشغيل:

> qmake -project "CONFIG += qtestlib"
> qmake
> nmake

وعندما أفعل، والإخراج من nmake هو:

<اقتباس فقرة>   

وC: /Apps/Qt/2009.03/qt/bin \ moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_TESTLIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtCore "من أنا" .... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtGui "من أنا" .... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtTest "من أنا" .... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل "من أنا". " من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ ActiveQt" من أنا "التصحيح" من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ mkspecs \ Win32 و-ز ++" -D__GNUC__ - DWIN32 testqstring.cpp -o التصحيح \ testqstring.moc

     

وز ++ -c -g -frtti -fexceptions -mthreads سور الصين -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_TESTLIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtCore" من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtGui" من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ QtTest" من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ "تشمل" من أنا ". من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ تشمل \ ActiveQt" من أنا "التصحيح" من أنا ".... \ تطبيقات \ كيو تي \ 2009.03 \ كيو تي \ mkspecs \ Win32 و-ز ++" تصحيح -o \ testqstring.o testqstring.cpp

     

وtestqstring.cpp: 63: 27: testqstring.moc: لا يوجد ملف أو دليل
  NMAKE: خطأ فادح U1077: 'C: \ تطبيقات \ كيو تي \ 2009.03 \ مينغو \ بن \ ز ++ EXE.': رمز الإرجاع "0x1"   إيقاف.
  NMAKE: خطأ فادح U1077: 'C: \ PROGRA ~ 1 \ MICROS ~ 3 \ VC \ BIN \ nmake.exe': عودة كود "0x2"   إيقاف.

وهكذا، أستطيع أن أرى أن يطلق عليه اسم moc.exe لتوليد التصحيح / testqstring.moc، ولكن يتم إنشاء هذا الملف أبدا.

وشكرا لك على أي وجميع التوجيهات التي يمكن أن تقدم.

هل كانت مفيدة؟

المحلول

ويبدو وكأنه كنت تحاول استخدام nmake للقيام بناء مع مينغو. nmake هو أداة MSVC.

إذا كنت تريد أن تفعل بناء مع مينغو يجب استخدام mingw32-make. إذا كنت تريد أن تفعل بناء مع MSVC يجب استخدام كيو تي بنيت مع MSVC (وهو ما يعني لديك لبناء بنفسك أو الحصول على ترخيص تجاري).

نصائح أخرى

وكان لي المشكلة أن moc.exe لم تولد أي وزارة التجارة ملفات مع NMAKE. وكان السبب مسار moc.exe خطأ داخل Makefile.Debug.

وشيء من هذا القبيل:

وC: /Qt/2009.03/qt/bin \ moc.exe

وأنا تغييره إلى:

وC: \ كيو تي \ 2009.03 \ كيو تي \ بن \ moc.exe

والآن يعمل. ؛)

وUnfortunally كماكي سوف تولد makefiles في كل مرة تقوم بتشغيل فإنه من القائمة أو إعادة بناء / تنظيف الحل / مشروع. أعتقد أنه من خلل في التكوين كماكي.

لإصلاحه بشكل دائم لديك للعثور على الملف C: \ MyQtDir \ mkspecs \ Win32 و-msvc2008 \ qmake.conf. لالتكوينات الأخرى لديك لتغيير إلى Win32 msvc2008.

وبالنسبة لي كان في C: \ كيو تي \ 2009.03 \ كيو تي \ mkspecs \ Win32 و-msvc2008 \ qmake.conf

وابحث عن "QMAKE_MOC" العبارة. سوف تجد بعض الخطوط مثل هذا:

QMAKE_MOC               = $$[QT_INSTALL_BINS]\moc.exe
QMAKE_UIC               = $$[QT_INSTALL_BINS]\uic.exe
QMAKE_IDC               = $$[QT_INSTALL_BINS]\idc.exe

وQT_INSTALL_BINS هو المسار الذي يبدو أن أكون مخطئا. الفواصل الدليل لا تزال '/' ولكن ينبغي أن تكون '\'. في هذه اللحظة أنا لا أعرف بالضبط حيث لدي لتغيير QT_INSTALL_BINS. إلا أن مسار كيو تي لم تتغير بالنسبة لي لذلك أنا استبدال الماكرو اسم الدليل يصعب تعريفه:

QMAKE_MOC               = C:\Qt\2009.03\qt\bin\moc.exe
QMAKE_UIC               = C:\Qt\2009.03\qt\bin\uic.exe
QMAKE_IDC               = C:\Qt\2009.03\qt\bin\idc.exe

والآن لا توجد مشاكل مع وزارة التجارة بعد الآن. سوف يعيد بناء تعمل بشكل جيد جدا.

ويساعد هذا الأمل.)

هل حاولت استخدام مترجم / الأدوات المضمنة مع كيو تي في / مينغو / بن؟ (على نظام بلدي، يتم تثبيت كيو تي في C: \ كيو تي \ 2009.03.) آخر مرة راجعت، والتوزيع غير التجاري للكيو تي لن يعمل مع Visual Studio. لقد حاولت هذه من الأمر كيو تي الفوري وأنه يعمل.

qmake -project "CONFIG += qtestlib"

qmake

mingw32-make

وآمل أن يساعد هذا.

وهارون أنت متأكد لا يتم إنشاء وزارة التجارة؟ فهي تعيش في الدليل التصحيح، لذلك سوف تحتاج إما ل# تشمل "تصحيح / teststring.moc" أو تتضمن # مع خيار إضافي مترجم -IDebug.

في حالة بعد ترجمة مع VC NMAKE هناك حلا لهذا الخطأ هنا: http://bugreports.qt-project.org/browse/QTBUG-6470

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top