bjam runtime-link=static
سؤال
أحاول التجميع بطريقة بحيث يرتبط ملف exec بـ gcc
بشكل ثابت.افترضت الركض bjam link=static runtime-link=static
ينبغي أن تفعل الخدعة؟عندما حاولت ذلك أحصل على الأخطاء التالية مثل:
...failed gcc.link TGT/bin/gcc-4.5.1/debug/link-static/runtime-link-static/datagen...
gcc.compile.c++ TGT/bin/gcc-4.5.1/release/link-static/runtime-link-static/base_data_gen.o
gcc.link TGT/bin/gcc-4.5.1/release/link-static/runtime-link-static/datagen
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
هذه لا تأتي عندما أركض bjam link=static
.يرجى تقديم النصيحة ؟
المحلول
أعتقد أن libstdc++ لم يتم ربطه بشكل ثابت عن قصد.يعتبر الكثيرون أن القيام بذلك محفوف بالمخاطر (على الرغم من أنني لم أسمع سببًا وجيهًا حقًا).لا أعتقد أن هناك علامة بسيطة يمكنك إضافتها.بالنسبة لمجموعة أدوات مجلس التعاون الخليجي، يمكنك إضافة شيء من هذا القبيل
-static-libgcc -Wl,-Bstatic -lstdc++
إلى cxxflags الخاص بك لمتغير البناء الخاص بك.
لا تنتمي إلى StackOverflow