Russian Qt Forum

Qt => Вопросы новичков => Тема начата: NickSin от Январь 27, 2014, 11:04



Название: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 11:04
Суть в следующем:
Есть класс. Описан заголовочный файл и исполняемый.
При попытке создать обьект класса, выводит сообщение, что 
Цитировать
ошибка: LNK2019: unresolved external symbol "public: __thiscall NetworkNode::NetworkNode(void)" (??0NetworkNode@@QAE@XZ) referenced in function "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z)

Опытным путем было выявлено, что он не видит исполняемый файл класса - поэтому ругается.
Ибо у меня есть еще 2 класса описанных тем же методом - их обьекты создаются, а этого - нет!

Вопрос в чем может быть проблема?

П.С. конструктор в классе определен, но тело само пустое. Без этого все равно должен создаваться, как создаются другие 2 обьекта классов, описанных аналогично тому, на который ругается


Название: Re: Проблема с линковкой и компиляцией
Отправлено: Bepec от Январь 27, 2014, 11:29
А в проект cpp добавлен?


Название: Re: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 12:20
А в проект cpp добавлен?

да в исходниках лежит + в .pro  файле прописан


Название: Re: Проблема с линковкой и компиляцией
Отправлено: Johnik от Январь 27, 2014, 12:21
qmake (!!!)
make


Название: Re: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 12:37
qmake (!!!)
make
предлагаете заменить qmake  простым make ?
Извините, если не понял сути вашего высказывания


Название: Re: Проблема с линковкой и компиляцией
Отправлено: Johnik от Январь 27, 2014, 12:57
Прощу прощения, что так высказался непонятно.

Если используете QtCreator, то необходимо сначала выполнить: "Сборка" -> "Запуск qmake"
Потом выполнить одну из команд "Собрать"

Если из командной строки, то сначала qmake, потом один из вариантов make (make, jom, nmake...).

Как правило бывает, исходник добавили, а qmake выполнить забыли.


Название: Re: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 13:01
Прощу прощения, что так высказался непонятно.

Если используете QtCreator, то необходимо сначала выполнить: "Сборка" -> "Запуск qmake"
Потом выполнить одну из команд "Собрать"

Если из командной строки, то сначала qmake, потом один из вариантов make (make, jom, nmake...).

Как правило бывает, исходник добавили, а qmake выполнить забыли.

Спасибо за совет, попробую)


Название: Re: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 13:11
Прощу прощения, что так высказался непонятно.

Если используете QtCreator, то необходимо сначала выполнить: "Сборка" -> "Запуск qmake"
Потом выполнить одну из команд "Собрать"

Если из командной строки, то сначала qmake, потом один из вариантов make (make, jom, nmake...).

Как правило бывает, исходник добавили, а qmake выполнить забыли.

Спасибо за совет, попробую)

Вы были правы, все дело в qmake)  Я думал, что Creator  сам подцепляет его автоматом, значит ошибался.
А не знаете какая комбинация клавиш его автоматически запускать может, ибо мне удобно Ctrl+Shift+B  запускать на пересборку и на запуск Ctrl+R.  Что-нибудь такого плана бы хотелось, если конечно реализация данных сочетаний есть.


Название: Re: Проблема с линковкой и компиляцией
Отправлено: Johnik от Январь 27, 2014, 13:52
Можно настроить.

Инструменты -> Параметры -> Среда -> Клавитура
в строке фильтра: qmake
и задать сочетание

либо если FakeVim используется, можно связывание команд настроить


Название: Re: Проблема с линковкой и компиляцией
Отправлено: NickSin от Январь 27, 2014, 15:37
Можно настроить.

Инструменты -> Параметры -> Среда -> Клавитура
в строке фильтра: qmake
и задать сочетание

либо если FakeVim используется, можно связывание команд настроить
Спасибо, полезное замечание))