Проект 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. Удачи с этим, поскольку я нашел задачу почти невозможным.