لماذا اللعنات على Linux تعطيني بعد الخطأ؟
-
19-09-2019 - |
سؤال
محاولة الحصول على getch () العمل على التقاط الصحافة الرئيسية.
#include <curses.h>
...
...
WINDOW *w;
char f;
w = initscr();
timeout(3000);
f = getch();
endwin();
يعطيني بعد الخطأ: -
undefined reference to `wgetch'
undefined reference to `stdscr'
المحلول
هذا خطأ ربط. هل ترتبط بمكتبة اللعنات بشكل صحيح؟
هناك خطوتان متورطان في استخدام مكتبة في C.
- أنت
#include
ملفات الرأس ذات الصلة من الملفات المصدر الخاصة بك. هذا هو المكان الخاص بك يعرف توقيعات وظائف المكتبة. لذلك أنت تفعل هذا بشكل صحيح. - عند تجميع التعليمات البرمجية الخاصة بك، تحتاج إلى معرفة رابط الرابط إلى المكتبات ذات الصلة، لذلك يمكن أن تجد تعريف تلك الوظائف. هذا هو ما لا تفعله. وبعد على افتراض أنك تستخدم دول مجلس التعاون الخليجي ثم مضيفا
-lncurses
إلى خط الترجمة يجب أن تفعل ذلك. هنا شرح الربط.
لا تنتمي إلى StackOverflow