К сожалению, я вынужден использовать gcc 3.2.3 (MinGW) из-за базы стороннего кода, имеющей проблемы с более поздними версиями НКА.Невозможно построить полезную библиотеку yaml-cpp (совместно используемую или статическую) с gcc 3.2.3 в Windows
С gcc 3.2.3 я могу построить статическую библиотеку (yaml-cpp.a) просто прекрасно (редактируя файл CMakeLists.txt, чтобы удалить «set (LIB_TYPE SHARED)», но я не могу связать мое приложение против библиотеки. Это всегда приводит к следующей ошибке:
C:/MinGW_2/bin /../ lib/gcc-lib/mingw32/3.2.3 /../../../ libstdC++ . (с ++ locale.o) (. т доб + 0x38c): неопределенная ссылка на `strtold»
я получаю ту же ошибку при попытке создать общую библиотеку YAML-CPP
После. поиск в Интернете немного, большинство из них, похоже, разрешите эту проблему в своих проектах, используя «strtod» вместо «strtold», но я не могу найти ссылку на «strtold» в коде yaml-cpp; так что я нахожусь в убытке?
Любые идеи?
У меня нет доступа к gcc 3.2.3, но вы можете увидеть, можете ли вы использовать 'std :: stringstream' и читать в' long's (или 'long long's)? Например, попробуйте 'std :: stringstream stream; поток << "5"; long n; stream >> n; ' –
Конечно, это приводит к той же ошибке. – Gerry