زيادة مكتبات C ++ لtoolchain دول مجلس التعاون الخليجي الذراع

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

  •  04-07-2019
  •  | 
  •  

سؤال

وليس لدي أي مشكلة بناء 1.35.0، وكذلك 1.36.0 على toolchain الذراع دول مجلس التعاون الخليجي timesys، سواء بشكل ثابت (رابط ثابت) وكذلك حيوي (. لذا، الخيار الافتراضي).

ولكن عندما أحاول ربط بسيط التطبيق عينة الملفات:

#include <boost/filesystem.hpp>
#include <iostream>

namespace fs = boost::filesystem;

int main(int argc, char *argv[]) {
    const char* fileName = argv[1];
    std::cout << "file: " << fileName << " => " << fs::exists(fileName) << std::endl;
    return 0;
}

وأحصل على خطأ رابط التالية:


developer@eldp01:~/boost/test$ /opt/timesys/at91sam9263_ek/toolchain/bin/armv5l-timesys-linux-gnueabi-gcc 
  exists.cpp -o exists.exe -I ../boost_1_35_0/ -lboost_filesystem -lboost_system -lstdc++ -L .

/tmp/ccex3NGb.o: In function `boost::detail::atomic_decrement(int*)':
exists.cpp:(.text._ZN5boost6detail16atomic_decrementEPi[boost::detail::atomic_decrement(int*)]+0x1c): 
  undefined reference to `__sync_fetch_and_add_4'

/tmp/ccex3NGb.o: In function `boost::detail::atomic_increment(int*)':
exists.cpp:(.text._ZN5boost6detail16atomic_incrementEPi[boost::detail::atomic_increment(int*)]+0x1c): 
  undefined reference to `__sync_fetch_and_add_4'

collect2: ld returned 1 exit status

لا أحد يعرف كيف يمكنني الحصول على دفعة لبناء ل toolchain دول مجلس التعاون الخليجي الذراع؟

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

المحلول 2

وتحتاج إلى إضافة في الملف 'boost_1_35_0 / دفعة / التكوين / user.hpp':

#define BOOST_SP_USE_PTHREADS

وراجع للشغل، تحتاج إلى تعيين مجلس التعاون الخليجي أداة سلسلة في ملف "boost_1_35_0 / أدوات / بناء / V2 / المستخدم config.jam" إلى:

<اقتباس فقرة>
using gcc
        : arm
        : /opt/timesys/at91sam9263_ek/toolchain/bin/armv5l-timesys-linux-gnueabi-gcc
;

وهذا من شأنه حل مشكلة ربط الآن.

نصائح أخرى

وكان هناك سؤال أجاب متطابقة تقريبا هنا على زيادة القائمة البريدية.

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