زيادة مكتبات C ++ لtoolchain دول مجلس التعاون الخليجي الذراع
سؤال
وليس لدي أي مشكلة بناء 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
;
اقتباس فقرة>
وهذا من شأنه حل مشكلة ربط الآن.
نصائح أخرى
وكان هناك سؤال أجاب متطابقة تقريبا هنا على زيادة القائمة البريدية.
لا تنتمي إلى StackOverflow