У меня такая же проблема. Даже я правильно определил переменную среды CXX.
$ CXX - версия
g ++ (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
Это бесплатное программное обеспечение; см. источник для условий копирования. Здесь нет
гарантия; даже не для ИЗДЕЛИИ или ФИТНЕСА ДЛЯ ОСОБЕННОЙ ЦЕЛИ.
Я посмотрел файл журнала вывода ./configure:
Bootstrap.cmk / cmake_bootstrap.log
class NeedCXX
{
public:
NeedCXX() { this->Foo = 1; }
int GetFoo() { return this->Foo; }
private:
int Foo;
};
int main()
{
NeedCXX c;
#ifdef TEST3
cout << c.GetFoo() << endl;
#else
std::cout << c.GetFoo() << std::endl;
#endif
return 0;
}
/ usr / bin / ld: не удается найти -lgcc_s
collect2: error: ld вернул 1 состояние выхода
Тест не скомпилирован
Попробуйте: / usr / local / bin / g ++
Строка: / usr / local / bin / g ++ -DTEST2 cmake_bootstrap_18998_test.cxx -o cmake_bootstrap_18998_test
---------- файл -----------------------
Основная проблема в том, что программист, написавший тест, не включил
включите путь -L / PATH / to / C ++ / header, который на моем компьютере
/usr/local/include/c++/5.3.0
Этот путь должен быть включен в автоматическое зондирование или должен быть параметром в программе настройки. Я надеюсь, что разработчики cmake смогут увидеть это сообщение и немного изменить автоопределение.
Или я могу ошибаться.