Eclipse CDT مع Cygwin GCC: اكتشاف التلقائي للرموز والمسارات

StackOverflow https://stackoverflow.com/questions/1450654

سؤال

أنا أستخدم CCLIPSE CDT مع Cygwin GCC 3 كبرنامج التحويل البرمجي. مشروعي يستخدم مخصص makefile.

المشكلة هي أنه عند تصحيح التعليمات البرمجية، لم يتمكن من تحديد موقع الملفات المصدر، على الرغم من أنني أضفت تعيين مسار مخصص ل: /cygdrive/c <-> c:\

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

لقد تتبعت المشكلة إلى "اكتشاف التلقائي"الخيار، الذي يوضح الخطأ التالي:

screenshot1

لاحظ أنني أتأكد من أن دليل مساحة العمل على طريق دون أي مسافات. الشيء الغريب هو أنه عندما أقوم بتشغيل الأمر إشكالية في القشرة، فإنه يعمل بشكل جيد مع الإخراج التالي:

$ gcc -E -P -v -dD C:/Users/Amro/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1.exe -E -quiet -v -P -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api C:/Users/Amro/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c -mtune=pentiumpro -dD
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/include"
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
 /usr/include
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api
End of search list.
#define __STDC_HOSTED__ 1
#define __GNUC__ 3
       [.... truncated ....]
#define __unix__ 1
#define __unix 1

حاولت أيضا إضافة المسار الموجه يدويا:

screenshot2

كيف يمكنني إصلاح هذا بحيث يكتشف كل مسارات تضمين الرموز المعرفة؟ يجب أن أحاول إيقاف تشغيل اكتشاف السيارات والمخدد المسارات المطلوبة في .cregject. ملف؟ أي مساعدة موضع تقدير (أطلب فقط أنك لا توحي باستخدام Mingw بدلا من Cygwin!)

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

المحلول

لك هو متكرر مصدر الشكاوى فيما يتعلق خلط الكسوف & Cygwin. جوهر المشكلة هو أن الكسوف يفهم فقط بيئة Windows Cygwin، وليس كثيرا.

حدد مساراتك في نمط نوافذ Eclipse. أيضا هو / USR تحت C: Cygwin، عليك أن تعطيه المسار الكامل. خلاف ذلك ستحاول الكسوف العثور عليه تحت C: USR والخروج فارغة.

أيضا، هل تعارف المسار الخاص بك إلحاق أو استبدال بيئة Windows الخاصة بك؟ من المحتمل أن تكون أكثر سعادة إلحاق بيئتك بدلا من استبدالها.

لم تجرب Autodetect أبدا - قد تضطر إلى صعبة الكود هذه المسارات في .CProject

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