Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблема линковки


Автор: Rickert 30.4.2011, 14:53
Собираю стат. библиотеку, один из классов которой унаследован от синглтона (который полностью описан в заголовочном файле и само собой не встроен в стат. либу). Затем использую этот класс в своём проекте и пытаюсь собрать, но получаю ошибку:
Цитата
g++ -c projects/examples/debug/cpp/main.cpp -o garbage/main.debug.o
g++ -o bin/debug -g garbage/main.debug.o -Llib  -lgmCommon 
lib/libgmCommon.a(amath.gmCommon.o):amath.cpp:(.text+0x10e): undefined reference to `gmCommon::aSingleton<gmCommon::aMath>::~aSingleton()'
mingw32-make[1]: Leaving directory `D:/Devel/blacksmith'
lib/libgmCommon.a(amath.gmCommon.o):amath.cpp:(.text+0x115d): undefined reference to `gmCommon::aSingleton<gmCommon::aMath>::~aSingleton()'
lib/libgmCommon.a(amath.gmCommon.o):amath.cpp:(.text+0x119f): undefined reference to `gmCommon::aSingleton<gmCommon::aMath>::~aSingleton()'
lib/libgmCommon.a(aaux.gmCommon.o):aaux.cpp:(.text+0x104): undefined reference to `gmCommon::aSingleton<gmCommon::aAux>::~aSingleton()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug] Error 1
mingw32-make: *** [prj] Error 2

libgmCommon - стат. либа. aSingleton - класс синглтона, от которого унаследован класс aMath.
Если использовать класс, который не унаследован - всё хорошо.

Автор: boostcoder 30.4.2011, 15:31
покажите код синглтона и пример его использования.

Добавлено через 8 минут и 26 секунд
все четыре анрезолва указывают на деструктор синглтона. а он есть?

Автор: Rickert 30.4.2011, 18:03
Класс синглтона был абстрактным и деструктор не имел реализации. Реализовал - ошибка ушла.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)