LDFLAGS חסרה הפנייה לנתיב ספרייה - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

LDFLAGS חסרה הפנייה לנתיב ספרייה


nat64x

Recommended Posts

מה אני עושה לא נכון? איך לתקן?

ld-uClibc.so.0 נמצא בנתיב שסופק כפרמטר.


SHELL = /bin/sh
CC = /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips--gcc
TARGET= test
LDFLAGS = -B /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib

all:test

test:
$(CC) -o $(TARGET) test.c $(LDFLAGS)
clean:
rm *~


test $ make
/opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips--gcc -o test test.c -B /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/../lib/gcc/mips-openwrt--uclibc/4.3.3/../../../../mips-openwrt--uclibc/bin/ld: warning: ld-uClibc.so.0, needed by /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/lib/libc.so, not found (try using -rpath or -rpath-link)
/opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/lib/libc.so: undefined reference to `_dl_app_init_array
'/opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/lib/libc.so: undefined reference to `_dl_loaded_modules
'/opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/lib/libc.so: undefined reference to `_dl_app_fini_array'collect2: ld returned 1 exit statusmake: *** [test] Error 1

קישור לתוכן
שתף באתרים אחרים

כן.

עם LDFLAGS += -rpath-link /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/ld-uClibc.so.0

הוא מקפל ויוצר את הקובץ אבל מתלונן:

mips--gcc: unrecognized option '-rpath-link'

ניסתי להוסיף:


TARGET_LDFLAGS+=-rpath-link $(shell find $(STAGING_DIR) -name ld-uClibc.so.0

לא עזר.

אפשר הסבר על השימוש הנכון?

נראה שהשורה צריכה להיות רק:

LDFLAGS += /opt/cross/ddwrt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/ld-uClibc.so.0

אבל משום מה זה שונה מהתיעוד ברשת.

קישור לתוכן
שתף באתרים אחרים

אני לא מדבר מנסיוi עם mips ו-cross-compiling ככה שאני מציע רק לפי שאני מוצא, לכן יכול להיות שמה שכתבת אמור להיות נכון.

בכל אופן, ניסית לרשום את הדגל עם שני מקפים? למרות שכאן למשל יש רק מקף אחד...

TARGET_LDFLAGS += --rpath-link $(shell find $(STAGING_DIR)) -name ld-uClibc.so.0

קישור לתוכן
שתף באתרים אחרים

כן, ניסתי פחות או יותר הכל. שרפתי כמה שעות טובות.

אני שמח עכשיו לפחות שזה עובד וזה העיקר, אבל מעצבן אותי שהפקודות שמצאתי לא עבדו כמצופה, וסתם ביזבזתי הרבה זמן.

בהתחלה לא שמתי לב שהוא בכל זאת מקמפל את הקובץ וחשבתי שזה נכשל בגלל השגיאה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...