คำถามติดแท็ก libstdc++

19
/usr/lib/libstdc++.so.6: ไม่พบเวอร์ชัน `` GLIBCXX_3.4.15 '
ฉันจะรับ GLIBCXX_3.4.15 ใน Ubuntu ได้อย่างไร ฉันไม่สามารถเรียกใช้บางโปรแกรมที่ฉันกำลังรวบรวมได้ เมื่อฉันทำ: strings /usr/lib/libstdc++.so.6 | grep GLIBC ฉันเข้าใจ: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH ขอบคุณสำหรับความช่วยเหลือ!
135 c++  gcc  libstdc++ 

3
gcc 4.8 หรือบั๊กกี้รุ่นก่อนหน้าเกี่ยวกับนิพจน์ทั่วไปหรือไม่
ฉันพยายามใช้ std :: regex ในโค้ด C ++ 11 แต่ดูเหมือนว่าการรองรับนั้นค่อนข้างมีปัญหา ตัวอย่าง: #include <regex> #include <iostream> int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl; std::cerr << "st|mt|tr" << " matches mt? " << std::regex_match("mt", r) << …
101 c++  regex  gcc  c++11  libstdc++ 

5
การเชื่อมโยง libstdc ++ แบบคงที่: gotchas ใด ๆ ?
ฉันต้องการปรับใช้แอปพลิเคชัน C ++ ที่สร้างขึ้นบน Ubuntu 12.10 พร้อม libstdc ++ ของ GCC 4.7 กับระบบที่ใช้ Ubuntu 10.04 ซึ่งมาพร้อมกับ libstdc ++ เวอร์ชันเก่ากว่ามาก ขณะนี้ผมกำลังรวบรวมกับ-static-libstdc++ -static-libgccที่แนะนำโดยการโพสต์บล็อกนี้: การเชื่อมโยง libstdc ++ แบบคงที่ ผู้เขียนเตือนไม่ให้ใช้โค้ด C ++ ที่โหลดแบบไดนามิกเมื่อคอมไพล์ libstdc ++ แบบคงที่ซึ่งเป็นสิ่งที่ฉันยังไม่ได้ตรวจสอบ ถึงกระนั้นทุกอย่างดูเหมือนจะราบรื่นจนถึงตอนนี้: ฉันสามารถใช้ประโยชน์จากคุณสมบัติ C ++ 11 บน Ubuntu 10.04 ซึ่งเป็นสิ่งที่ฉันเป็นหลังจากนั้น ฉันทราบว่าบทความนี้มาจากปี 2548 และอาจมีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา คำแนะนำยังคงเป็นปัจจุบันหรือไม่? มีปัญหาที่น่าสงสัยที่ฉันควรระวังหรือไม่?

2
ฉันควรใช้ libc ++ หรือ libstdc ++? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังพัฒนาไฟล์ปฏิบัติการอินเตอร์เฟสบรรทัดคำสั่งสำหรับทั้ง osx และ linux โดยใช้ c / c ++ โครงการจะเชื่อมโยงกับ opencv ฉันควรใช้ libc ++ หรือ libstdc ++?

3
std :: vector (ab) ใช้ที่เก็บข้อมูลอัตโนมัติ
พิจารณาตัวอย่างต่อไปนี้: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } เห็นได้ชัดว่ามันจะผิดพลาดในแพลตฟอร์มส่วนใหญ่เนื่องจากขนาดสแต็คเริ่มต้นมักจะน้อยกว่า 20MB พิจารณารหัสต่อไปนี้: #include <array> #include <vector> int main() { using huge_type = std::array<char, 20*1024*1024>; std::vector<huge_type> v(1); } น่าแปลกที่มันเกิดปัญหาเช่นกัน! การย้อนกลับ (ด้วยหนึ่งในเวอร์ชันล่าสุดของ libstdc ++) นำไปสู่include/bits/stl_uninitialized.hไฟล์ซึ่งเราสามารถเห็นบรรทัดต่อไปนี้: typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::fill(__first, __last, _ValueType()); ตัวvectorสร้างปรับขนาดต้องเริ่มต้นองค์ประกอบและนี่คือวิธีการใช้งาน เห็นได้ชัดว่า_ValueType()ชั่วคราวเกิดปัญหาสแต็ก คำถามคือการใช้งานที่สอดคล้องหรือไม่ ถ้าใช่จริง ๆ …

1
นี่เป็นข้อบกพร่องใน std :: gcd หรือไม่
ฉันเจอพฤติกรรมนี้std::gcdซึ่งฉันพบว่าไม่คาดคิด: #include <iostream> #include <numeric> int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type<decltype(a), decltype(b)>::type; C ca = std::abs(a); C cb = b; std::cout << a << ' ' << ca << '\n'; std::cout << …

1
เหตุใดจึงต้องมี static_cast ในการใช้งาน gcc ของ is_nothrow_constructible
นำมาจากการใช้ GCC type_traitsว่าทำไมจึงstatic_castต้องมีที่นี่ template <typename _Tp, typename... _Args> struct __is_nt_constructible_impl : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> {}; template <typename _Tp, typename _Arg> struct __is_nt_constructible_impl<_Tp, _Arg> : public integral_constant<bool, // Why is `static_cast` needed here? noexcept(static_cast<_Tp>(declval<_Arg>()))> {};
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.