У мене теж було кілька проблем (Ubuntu 13.04 64-розрядний, g ++ - 4,8, затемнення Juno 3.8.1, CDT 6.0.0). Дуже багато речей згадувалося вище, шкода повторювати це, але додатково у мене виникли проблеми з використанням
std::thread
як частина c ++ 11 (додавання -pthread для лінкера вирішує цю проблему). У будь-якому випадку, нарешті, ці налаштування спрацювали нормально:
Проект -> Властивості -> C / C ++ Build -> Налаштування -> Різне. Додайте
-std=c++11
прапор для компіляторів GCC та G ++. Натисніть Застосувати.
Для лінкера, це ж вікно, Різне, Прапор Linker, додано
-pthread
прапор. Налаштування спільної бібліотеки, Ім’я спільного об’єкта, додайте
-Wl,--no-as-needed
прапор теж. Натисніть Застосувати.
C / C ++ Загальне -> Шляхи та символи -> Символи TAB, GNU C ++ вибрано, Додати
__GXX_EXPERIMENTAL_CXX0X__
(немає значення)
прапор. Натисніть Застосувати.
C / C ++ Загальне -> Препроцесор Включити шляхи .. -> Вкладка Постачальники: перевірити
Вбудовані настройки компілятора CDT GCC
а для "Команди для отримання специфікацій компілятора" додайте
-std=c++11
прапор. Зніміть прапорець Поділитись. Натисніть Застосувати.
CDT Managages Build Setting Entries, перевірте це також. Зніміть прапорці двох інших. Натисніть Застосувати.
Повернувшись до вкладки "Записи", GNU C ++ CDT Керування налаштуваннями керування CDT, тепер вам слід побачити додані
__GXX_EXPERIMENTAL_CXX0X__
запис.
Це воно. При кодуванні, наборі тексту
std::
тепер може автоматично завершити клас потоку, наприклад, збірки повинні працювати нормально, а їх не повинно бути
std::system_error'what(): Enable multithreading to use std::thread: Operation not permitted
під час виконання.
std::unique_ptr<char[]>