سؤال

والمشكلة هي أن المترجم يقول أن هناك إعادة تعريف وظيفة بين مكتبة ينتمي إلى الخلية وmath.h من مكتبة الأمراض المنقولة جنسيا.

ولقد كنت على هذا لمدة يومين وأنا لا تزال لا يمكن معرفة ذلك.

لقد حدث ذلك من أي وقت مضى إلى أي شخص؟

وهذا هو الإخراج من مترجم


C:\mingw\bin\mingw32-make.exe all 
'Building file: ../src/interfaz/ventanaconf.cpp'
'Invoking: GCC C++ Compiler'
C:\mingw\bin\mingw32-g++.exe -mms-bitfields -I"c:\dev-cpp\gtkmm\include\gtkmm-2.4" 
-I"c:\dev-cpp\gtkmm\lib\gtkmm-2.4\include" -I"c:\dev-cpp\gtkmm\include\glibmm-2.4" 
-I"c:\dev-cpp\gtkmm\lib\glibmm-2.4\include" -I"c:\dev-cpp\gtkmm\include\gdkmm-2.4" 
-I"c:\dev-cpp\gtkmm\lib\gdkmm-2.4\include" -I"c:\dev-cpp\gtkmm\include\pangomm-1.4" 
-I"c:\dev-cpp\gtkmm\include\atkmm-1.6" -I"c:\dev-cpp\gtkmm\include\sigc++-2.0" 
-I"c:\dev-cpp\gtkmm\lib\sigc++-2.0\include" -I"c:\dev-cpp\gtkmm\include\cairomm-1.0" 
-I"c:\gtk\include\gtk-2.0" 
-I"c:\gtk\include\glib-2.0" 
-I"c:\gtk\lib\glib-2.0\include" 
-I"c:\gtk\lib\gtk-2.0\include" 
-I"c:\gtk\include\pango-1.0" 
-I"c:\gtk\include\cairo" 
-I"c:\gtk\include\freetype2" 
-I"c:\gtk\include" 
-I"c:\gtk\include\atk-1.0" 
-I"c:\Archivos de programa\MySQL\MySQL Server 5.0\include" 
-O0 -g3 -w -c -fmessage-length=0 -MMD -MP -MF"src/interfaz/ventanaconf.d" 
-MT"src/interfaz/ventanaconf.d" 
-o"src/interfaz/ventanaconf.o" "../src/interfaz/ventanaconf.cpp"
In file included from c:/Archivos de programa/MySQL/MySQL Server 5.0/include/my_global.h:73,
                 from ../src/interfaz/../gestiondb/gestordb.h:6,
                 from ../src/interfaz/../gestiondb/operacionesdb.h:5,
                 from ../src/interfaz/ventanamodulos.h:20,
                 from ../src/interfaz/ventanaconf.h:27,
                 from ../src/interfaz/ventanaconf.cpp:1:
c:/Archivos de programa/MySQL/MySQL Server 5.0/include/config-win.h: **In function `double rint(double)':
c:/Archivos de programa/MySQL/MySQL Server 5.0/include/config-win.h:228: error: redefinition of `double rint(double)'
C:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/math.h:620: **error: `double rint(double)' previously defined here**
C:\mingw\bin\mingw32-make.exe: *** [src/interfaz/ventanaconf.o] Error 1**

ويرجع الفضل في ذلك مسبقا!

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

المحلول 2

وكانت مشكلة حول مكتبة المدرجة، التي لينكس ببساطة يتجاهل، ولكن النوافذ يريدون الخروج. لا توجد مشكلة السماح بها في لينكس لا ...

وSomedays أشعر غبي SOOOOOOOOOOOOOOOOOOOOOOO: ..

نصائح أخرى

هذا موضوع في منطقة الدعم الخلية يبدو للإشارة إلى أنها ' لقد اتخذت تعريف rint () من ملف config_win.h بها اعتبارا من ابريل من هذا العام (على الرغم من اقترح التصحيح في عام 2006). هل تستخدم نسخة من مصدر الخلية أحدث من ذلك؟

في خط 228 من ج: / Archivos دي PROGRAMA / ماي / خادم MySQL 5.0 / وتشمل / التهيئة-win.h عليك أن تجد إعلانا / تعريف وظيفة المسمى "rint". في خط 620 من C: / مينغو / بن /../ ليب / دول مجلس التعاون الخليجي / mingw32 / 3.4.2 /../../../../ تشمل / math.h عليك أن تجد تعريفا آخر وظيفة مع نفس الاسم (والتي ربما حتى يفعل نفس الشيء).

لحل المشكلة سيكون لديك لحذف / outcomment / undefine واحد من هذه التعريفات.

كن مستعدا للحصول على مشكلة مماثلة عند ربط، إذا كنت أيضا ربط مكتبتين مع نفس الوظيفة.

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