Russian Qt Forum
Октябрь 05, 2024, 00:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с линковкой и компиляцией  (Прочитано 3658 раз)
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 обьекта классов, описанных аналогично тому, на который ругается
Записан
Bepec
Гость
« Ответ #1 : Январь 27, 2014, 11:29 »

А в проект cpp добавлен?
Записан
NickSin
Гость
« Ответ #2 : Январь 27, 2014, 12:20 »

А в проект cpp добавлен?

да в исходниках лежит + в .pro  файле прописан
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #3 : Январь 27, 2014, 12:21 »

qmake (!!!)
make
Записан
NickSin
Гость
« Ответ #4 : Январь 27, 2014, 12:37 »

qmake (!!!)
make
предлагаете заменить qmake  простым make ?
Извините, если не понял сути вашего высказывания
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #5 : Январь 27, 2014, 12:57 »

Прощу прощения, что так высказался непонятно.

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

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

Как правило бывает, исходник добавили, а qmake выполнить забыли.
Записан
NickSin
Гость
« Ответ #6 : Январь 27, 2014, 13:01 »

Прощу прощения, что так высказался непонятно.

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

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

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

Спасибо за совет, попробую)
Записан
NickSin
Гость
« Ответ #7 : Январь 27, 2014, 13:11 »

Прощу прощения, что так высказался непонятно.

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

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

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

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

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

Сообщений: 339


Просмотр профиля
« Ответ #8 : Январь 27, 2014, 13:52 »

Можно настроить.

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

либо если FakeVim используется, можно связывание команд настроить
Записан
NickSin
Гость
« Ответ #9 : Январь 27, 2014, 15:37 »

Можно настроить.

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

либо если FakeVim используется, можно связывание команд настроить
Спасибо, полезное замечание))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.124 секунд. Запросов: 23.