Проект Qt5.1 с поддержкой C++11 - связывание внешних библиотек

У меня есть проект Qt5.1, который также ссылается на внешнюю библиотеку - DCMTK. Я вижу много ошибок ссылок, которые приходят из этой внешней библиотеки:

Undefined symbols for architecture x86_64:
  "std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
      DcmDicomDir::getDataset() in libdcmdata.a(dcdicdir.o)
      DcmDicomDir::getDirRecSeq(DcmDataset&) in libdcmdata.a(dcdicdir.o)
      ...

Я использую функции C++11, поэтому мой Qt project.pro имеет это: CONFIG += c++11, Откуда происходят ошибки в ссылках? Это ссылки DCMKT на разные библиотеки C++? Нужно ли менять флаги компиляции для библиотеки DCMTK?

2 ответа

Оказалось тривиальной задачей - настроить DCMTK на использование clang и libC++:

./configure CXXFLAGS="-stdlib=libc++" 
            LDFLAGS="-stdlib=libc++" 
            CC=/usr/bin/clang 
            CXX=/usr/local/clang++

Да, вам придется восстановить DMCTK. Удачи с этим, поскольку я нашел задачу почти невозможным.

Другие вопросы по тегам