Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с линковкой в QT 
V
    Опции темы
Tsukasa
Дата 13.10.2010, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


скучающий мозгоблуд



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.2.2009

Репутация: нет
Всего: нет



Код

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>


Код

void MainWindow::on_pushButton_clicked()
{

    QNetworkAccessManager networkManager;
    QNetworkRequest request;
    request.setUrl(QUrl(ui->lineURL->text()));

    QNetworkReply *reply (networkManager.get(QNetworkRequest(request)));
    QEventLoop loop;

    connect(&networkManager, SIGNAL(finished(QNetworkReply*)), &loop, SLOT(quit()));

    loop.exec();
    reply->deleteLater();

    ui->text->setPlainText(QString(reply->readLine()));
}


Вроде достаточно простой пример - тут-же на форуме нашел....
но почемут не линкуется - ругается вот так:
Код

Выполняется сборка проекта _test-web...
Настройки не изменились, этап qmake пропускается.
Запускается "/usr/bin/make" -w 
make: Entering directory `/home/tsukasa-mixer/_proj/_test-web-build-desktop' 
g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I../_test-web -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I../_test-web -I. -o mainwindow.o ../_test-web/mainwindow.cpp 
g++ -m64 -o _test-web main.o mainwindow.o moc_mainwindow.o -L/usr/lib64 -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -lQtCore -lpthread 
mainwindow.o: In function `MainWindow::on_pushButton_clicked()': 
make: Leaving directory `/home/tsukasa-mixer/_proj/_test-web-build-desktop' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:23: undefined reference to `QNetworkAccessManager::QNetworkAccessManager(QObject*)' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:24: undefined reference to `QNetworkRequest::QNetworkRequest(QUrl const&)' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:25: undefined reference to `QNetworkRequest::setUrl(QUrl const&)' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:27: undefined reference to `QNetworkRequest::QNetworkRequest(QNetworkRequest const&)' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:27: undefined reference to `QNetworkAccessManager::get(QNetworkRequest const&)' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:27: undefined reference to `QNetworkRequest::~QNetworkRequest()' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:24: undefined reference to `QNetworkRequest::~QNetworkRequest()' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:23: undefined reference to `QNetworkAccessManager::~QNetworkAccessManager()' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:27: undefined reference to `QNetworkRequest::~QNetworkRequest()' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:24: undefined reference to `QNetworkRequest::~QNetworkRequest()' 
/home/tsukasa-mixer/_proj/_test-web-build-desktop/../_test-web/mainwindow.cpp:23: undefined reference to `QNetworkAccessManager::~QNetworkAccessManager()' 
collect2: ld returned 1 exit status 
make: *** [_test-web] Ошибка 1 
Процесс "/usr/bin/make" завершился с кодом %2.
Ошибка сборки проекта _test-web (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"


учусь писать под *nix =/
PM MAIL ICQ   Вверх
kefir01
Дата 13.10.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 22.6.2007

Репутация: 1
Всего: 2



В файле проекта есть строчка
Код

QT       += core gui network


?
PM MAIL   Вверх
Tsukasa
Дата 13.10.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


скучающий мозгоблуд



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.2.2009

Репутация: нет
Всего: нет



хммммм нить......

я не стал писать все но по сути эт демо проект а все остальное написал автоматом QT creator

я ток включения правил

Добавлено через 3 минуты и 4 секунды
main.cpp:
Код

#include <QApplication>
#include "mainwindow.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}



mainwindow.h:
Код

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>


namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    void click();



private slots:
    void on_pushButton_clicked();
};

#endif // MAINWINDOW_H



mainwondow.cpp:
Код

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QtNetwork>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{

    QNetworkAccessManager networkManager;
    QNetworkRequest request;
    request.setUrl(QUrl(ui->lineURL->text()));

    QNetworkReply *reply (networkManager.get(QNetworkRequest(request)));
    QEventLoop loop;

    connect(&networkManager, SIGNAL(finished(QNetworkReply*)), &loop, SLOT(quit()));

    loop.exec();
    reply->deleteLater();

    ui->text->setPlainText(QString(reply->readLine()));
}




Собсно весь проект. =/

Добавлено через 5 минут и 2 секунды
чурт все понял - там небыло "network"
PM MAIL ICQ   Вверх
kefir01
Дата 14.10.2010, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 22.6.2007

Репутация: 1
Всего: 2



Нет это в файле .pro
Надо вписать network в 

Код

QT       += core gui

PM MAIL   Вверх
Tsukasa
  Дата 15.10.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


скучающий мозгоблуд



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.2.2009

Репутация: нет
Всего: нет



Да я так и понял .
тот пример успешно работает, щас только понять не могу другое немного.
Вынес этот код в отдельный класс (и соответственно отдельные файлы) и при линковке мне ругаетси вот так

Код

/home/tsukasa-mixer/_proj/web-info-parser-build-desktop/../web-info-parser/function.cpp:17: error: ‘connect’ was not declared in this scope

понять не могу ничего - почему так =(
Код

#include "function.h"
#include <QtCore/qobject.h>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QtNetwork>

уже даж подключил отдельно но не пашет - причину не понимаю =(
PM MAIL ICQ   Вверх
abraziv
Дата 24.12.2011, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.9.2011

Репутация: нет
Всего: нет



Всем привет . Подскажите как исправить проблемму- 

L:\kursov\reckoning.cpp:16: ошибка: undefined reference to `_imp___ZN6Report12ReportEngineC1EP7QObject'
и много таких же
PM MAIL   Вверх
bsa
Дата 24.12.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



abraziv, для этого необходимо подключить библиотеку: добавить LIBS += /path/to/lib/mylib.so в *.pro
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.