Russian Qt Forum

Программирование => С/C++ => Тема начата: anli от Июль 21, 2006, 23:24



Название: линковка шаблонного класса
Отправлено: anli от Июль 21, 2006, 23:24
Всё - "по учебнику", gcc всё скушивает, однако линковщик ругается на создание объекта (или указателя) шаблонного класса. Например, вот такой вызов:

WavIn<double>* filterWav = new WavIn<double>(filterPath);

выдаёт

IR.cpp:(.text+0xba5): undefined reference to `WavIn<double>::WavIn(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: ld returned 1 exit status

Аналогичная ошибка и при

WavIn<double> filterWav(filterPath);

Это всё в kdevelop 3.3.91, проект QT4. Пробовал разные template-опции gcc - без успеха.

Где рыть?


Название: линковка шаблонного класса
Отправлено: Admin от Июль 24, 2006, 12:36
просто ты забыл файл или либу в проект включить
типа -lwavin
или если файл то wav_in.cpp


Название: линковка шаблонного класса
Отправлено: anli от Июль 24, 2006, 12:39
Конечно же, не забыл :-) Я обнаружил, что у GCC по этому поводу довольно много багов, так что, для надёжности, сделал "переключение по типу" руками.