У меня работает на FreeBSD 8.1-RELEASE-p2 и OSX 10.6.6.
В вашем пути поиска может быть плохая версия libstdc ++.Когда я делаю ссылку на FreeBSD 8.1, я получаю следующий вывод от ldd:
janm@midgard: test3 $ ldd a.out
a.out:
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x800649000)
libm.so.5 => /lib/libm.so.5 (0x800854000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x800973000)
libc.so.7 => /lib/libc.so.7 (0x800a80000)
Если у вас все выглядит иначе, у вас может быть несоответствие библиотеки времени выполнения.Если у вас есть проблема, вы можете попробовать связать с "g ++ -static", чтобы статически связать библиотеку времени выполнения во время соединения.Если это работает, вам нужно починить ваш компьютер.
Обновление:
Похоже, ваш компилятор и библиотека времени выполнения не совпадают, и это, вероятно, вызвано проблемой конфигурации cmake.Вероятно, вы установили версию gcc в / usr / local, возможно, с использованием порта.
Если вы компилируете систему gcc, вам нужно связаться с библиотеками времени выполнения в / usr / lib.Если вы компилируете с помощью gcc в / usr / local, вам нужно связать с библиотеками в / usr / local.Если вы планируете отправлять двоичные файлы, вам, вероятно, следует использовать системный gcc или статическую ссылку.
Другой вариант - просто удалить порт gcc и повторить попытку, если вы действительно не заботитесь о gcc.порт.