eclipse — C ++ Runtime error на Mac 10.7 / 10.8

Я использую Eclipse, GCC 4.8 и собираю проект C ++ на Mac OS 10.7 и 10.8. Большую часть времени проект собирается и работает правильно, за исключением некоторых конкретных функций. Например:

int main( int argc, char ** argv ) {
string a = "test";
string b = "-bla";
string c;
c = a + b;
return 0;
}

Компиляция прошла успешно:

Сборка конфигурации Debug для проекта Working **

make all Сборка файла: ../working.cpp Вызов: GCC C ++ Компилятор g ++
-O0 -g3 -Wall -c -fmessage-length = 0 -std = c ++ 11 -MMD -MP -MF «working.d» -MT «working.d» -o «working.o» «../ working.cpp «Завершено сборка: ../working.cpp Цель сборки: Работает Вызов: MacOS X C ++ Linker
g ++ -o «Работающий» ./working.o Законченное строительство цель: Работающий

Сборка завершена **

Тем не менее, я получил эту ошибку во время выполнения:

dyld: lazy symbol binding failed: Symbol not found: __ZNSsaSEOSs
Referenced from: /Volumes/Macintosh HD/Users/zeroliu/Study/CPP/Working/Debug/Working
Expected in: /usr/lib/libstdc++.6.dylib

dyld: Symbol not found: __ZNSsaSEOSs
Referenced from: /Volumes/Macintosh HD/Users/zeroliu/Study/CPP/Working/Debug/Working
Expected in: /usr/lib/libstdc++.6.dylib

Я обнаружил, что ошибка исходит от

string c;
c = a + b;

Интересно, если я внесу следующие изменения:

string c = a+b;

или же

c = a;

Программы работают отлично.

У кого-нибудь есть идеи о том, что здесь происходит? Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector