:-1: error: collect2: ld returned 1 exit status, СПАСИТЕ ОТ ДУРДОМА И СУИЦИДА |
Здравствуйте, гость ( Вход | Регистрация )
:-1: error: collect2: ld returned 1 exit status, СПАСИТЕ ОТ ДУРДОМА И СУИЦИДА |
ЙаМайскЫйПчОЛ |
14.10.2009, 19:12
Сообщение
#1
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
Доброго времени суток...
Товарищи, собратья по КуТэ... вопрос не совсем в КуТэ но я пишу под QtSDK НЕ ПОНИМАЮ В ЧЕМ ОШИБКА!!!! ОБЪЯСНИТЕ ПОЖАЛУЙСТА!!!! Заранее извиняюсь за название классов , но они отражают суть проблеммы... и мое к ней отношение вот хедер CODE #ifndef ZAELO_H #define ZAELO_H template <class C> class Zaelo { public: virtual ~Zaelo(); protected: Zaelo(int a = 0); private: int a_; }; template <class C> class Ox : public Zaelo<C> { public: Ox(int a = 0); virtual ~Ox(); }; #endif // ZAELO_H вот cpp CODE #include "Zaelo.h" template <class C> Zaelo<C>::Zaelo(int a) : a_(a) { } template <class C> Zaelo<C>::~Zaelo() { } template <class C> Ox<C>::Ox(int a) : Zaelo<C>(a) { } template <class C> Ox<C>::~Ox() { } а это main CODE #include <QtCore/QCoreApplication> #include "Zaelo.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Ox<int> b; return a.exec(); } так вот эта штука выдает при компиляции C:/PROJECTS/Zaebalo/main.cpp:7: undefined reference to `Ox<int>::Ox(int)' C:/PROJECTS/Zaebalo/main.cpp:8: undefined reference to `Ox<int>::~Ox()' C:/PROJECTS/Zaebalo/main.cpp:8: undefined reference to `Ox<int>::~Ox()' :-1: error: collect2: ld returned 1 exit status внимание знатоки... вопрос ... "ПОЧЕМУ" если перенести код из cpp в h то все работает, если написать inline функции в хедере то тоже работает.. ПОЖАЛУЙСТА ОБЪЯСНИТЕ ПОЧЕМУ П.С. это искренний крик души П.С.С. толи лыжи не едут... толи я увлекся проектированием вместо кодинга... Сообщение отредактировал ЙаМайскЫйПчОЛ - 14.10.2009, 20:47 |
|
|
ЙаМайскЫйПчОЛ |
14.10.2009, 19:50
Сообщение
#2
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
BRE, товарищь а на ваш взгляд какой способ корректней...
и есть ли подобное описание у авторов типа Шилдта и страуструпа??? |
|
|
AD |
14.10.2009, 19:56
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
BRE, товарищь а на ваш взгляд какой способ корректней... и есть ли подобное описание у авторов типа Шилдта и страуструпа??? Кода с шаблонами полно у Саттера и у Александреску. Если ничего не путаю, то Саттер предпочитал описывать через inline, а затем писать реализацию. У Александреску - вроде бы наоборот - все пишется в h-файле! Решай сам! Можешь найти и почитать Саттера и Александреску! Сложно посоветовать - как больше нравится.... |
|
|
Текстовая версия | Сейчас: 26.11.2024, 16:46 |