0 / 0 / 0
Регистрация: 03.06.2019
Сообщений: 31
1

Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status

03.06.2019, 18:49. Показов 1793. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть проект в нем 2 ошибки, не очень понимаю как их можно решить. Помогите, буду признателен!
Вот main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <QtWidgets>
#include <iostream>
#include <cmath>
 
using namespace std;
 
typedef double(*pointFunc)(double);
double f(double x)
{
  return fabs(cos(2*x));
}
double simpson_integral(pointFunc f, double a, double b, int n) {
  const double h = (b-a)/n;
  double k1 = 0, k2 = 0;
  for(int i = 1; i < n; i += 2) {
    k1 += f(a + i*h);
    k2 += f(a + (i+1)*h);
  }
  return h/3*(f(a) + 4*k1 + 2*k2);
}
int main()
{
    setlocale(LC_CTYPE, "rus");
  double a, b, eps;
  double s1, s;
  int n = 1;
  cout << "Введите левую границу интегрирования a = ";
  cin >> a;
  cout << "\nВведите правую границу интегрирования b = ";
  cin >> b;
  cout << "\nВведите требуемую точность eps = ";
  cin >> eps;
  s1 = simpson_integral(f, a, b, n);
  do {
    s = s1;
    n = 2 * n;
     s1 = simpson_integral(f, a, b, n);
  }
  while (fabs(s1 - s) > eps);
  cout << "\nИнтеграл = " << s1 << endl;
  return 0;
}
Вот 2 код:
mainwindow.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
Ошибки:
collect2.exe:-1: ошибка: error: ld returned 1 exit status
qtmain_win.cpp:-1: ошибка: undefined reference to `qMain(int, char**)'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2019, 18:49
Ответы с готовыми решениями:

undefined reference to 'qMain(int, char**)'
#include &lt;QApplication&gt; #include &lt;QLabel&gt; int main(int argc, char *argv) { QApplication...

Ошибка undefined reference to `MyDialogWindow::accept()' и ld returned 1 exit
Выдаёт ошибки: 1)moc_mydialogwindow.cpp:-1: ошибка: undefined reference to...

Ошибка collect2: ld returned 1 exit status
при сборке проекта выводит ошибку collect2: ld returned 1 exit status вывод компилятора...

:: error: collect2: ld returned 1 exit status
При компиляции выводит такую ошибку :: error: collect2: ld returned 1 exit status. в чем проблема,...

8
666 / 444 / 157
Регистрация: 01.10.2015
Сообщений: 1,246
03.06.2019, 20:16 2
Цитата Сообщение от Universe27 Посмотреть сообщение
не очень понимаю как их можно решить
В main.cpp должна выполняться инициализация Qt-приложения, если создавать проект "Приложение Qt Widgets" с настройками по умолчанию, то среда автоматически генерирует код в main.cpp сдедующего вида:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
#include "mainwindow.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
 
    return a.exec();
}
Теперь сравните с тем, что написано у вас. Нет объекта QApplication, который кстати должен получать параметры argc и argv, поэтому для Qt-приложения не подходит сигнатура функции main без параметров. Нет запуска обработки очереди сообщений. Все написанное вами является plain-C++ приложением, да еще и консольным. Зачем тогда Qt, если он никак вами не используется? Создавайте проект типа "Приложение на языке C++" из категории "Другие проекты", если Qt Creator нужен вам исключительно в качестве c++ IDE.
0
0 / 0 / 0
Регистрация: 03.06.2019
Сообщений: 31
03.06.2019, 20:20  [ТС] 3
0x90h, А если мне нужно Qt для того чтоб сделать графический интерфейс, чтоб выводило решение интеграла. Как тогда быть?
0
0 / 0 / 0
Регистрация: 03.06.2019
Сообщений: 31
03.06.2019, 20:23  [ТС] 4
Вот:
Миниатюры
Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status  
0
666 / 444 / 157
Регистрация: 01.10.2015
Сообщений: 1,246
03.06.2019, 20:26 5
Цитата Сообщение от Universe27 Посмотреть сообщение
Как тогда быть?
Может, для начала надо хоть немного разобраться, как работает графическое приложение на Qt? Почитать книги, посмотреть примеры программ, которые поставляются вместе с Qt. Возможно, адаптировать их для своей задачи. А уже в процессе, если что-то будет непонятно, задавать вопросы на форуме, причем, заметьте, более предметно сформулированные.

Книги Шлее, Саммерфилда. День-два неспешного, вдумчивого чтения... Впрочем, некоторым хватало пары часов.
1
0 / 0 / 0
Регистрация: 03.06.2019
Сообщений: 31
03.06.2019, 20:30  [ТС] 6
Понял, спасибо

Добавлено через 1 минуту
У меня такой вопрос, сильно ли отличается сам С++ от Qt C++?
0
666 / 444 / 157
Регистрация: 01.10.2015
Сообщений: 1,246
03.06.2019, 20:42 7
Озадачьте используемый вами поисковик запросом типа "что такое фреймворк" ))) Любой фреймворк императивен, именно он определяет архитектуру приложения, и вносит свою специфику, Qt, например, добавляет нестандартные расширения языка, но писать-то вы будете все равно на "плюсах". Это я не рассматриваю извращения вроде QML (имхо), когда интерфейс определятся декларативно на JavaScript-подобном языке, но любую более-менее сложную логику все равно придется писать на C++
0
0 / 0 / 0
Регистрация: 03.06.2019
Сообщений: 31
03.06.2019, 20:44  [ТС] 8
Может такое быть что создаю пустой такой же проект, а он выдает такие же ошибки?
0
зомбяк
1581 / 1215 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
04.06.2019, 12:47 9
Universe27, если не поставили саму библиотеку Qt - может.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2019, 12:47
Помогаю со студенческими работами здесь

Ошибка undefined reference to 'WinMaim@16' error: id returned 1 exit status
#include&lt;iostream&gt; #include&lt;cstdlib&gt; #include&lt;cstring&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р. Девис 4-е издание. И...

Ошибка undefined reference to `PlaySoundA@12' ld returned 1 exit status
простите за название темы, но форум не дает мне назвать ее &quot;проблемы с PlaySound&quot;.. постоянно...

Ошибки undefined reference to `WinMain@16'; ld returned 1 exit status
Подскажите, пожалуйста, в чём проблема. Выдает следующее: undefined reference to `WinMain@16' ld...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru