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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: hello qt? или как устроено приложение на qt  (Прочитано 13304 раз)
noname.pl
Гость
« : Декабрь 22, 2006, 18:41 »

взял книгу Бланшета по qt3. но не получается даже скомпилить hello qt програмку. у меня vs2003. создаю приложение таким образом: File -> New -> Project -> QT Application. называю приложение qt_hello_world. в визарде настройки по умолчанию не меняю. таким образом на выходе получаю проект из файлов:
main.cpp:{секция Sources}
Код:
#include <QtGui/QApplication>
#include "qt_hello_world.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qt_hello_world w;
w.show();
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
return a.exec();
}

qt_hello_world.cpp:{секция Sources}
Код:
#include "qt_hello_world.h"

qt_hello_world::qt_hello_world(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
}

qt_hello_world::~qt_hello_world()
{

}

qt_hello_world.h:{секция Header Files}
Код:
#ifndef QT_HELLO_WORLD_H
#define QT_HELLO_WORLD_H

#include <QtGui/QMainWindow>
#include "ui_qt_hello_world.h"

class qt_hello_world : public QMainWindow
{
Q_OBJECT

public:
qt_hello_world(QWidget *parent = 0, Qt::WFlags flags = 0);
~qt_hello_world();

private:
Ui::qt_hello_worldClass ui;
};

#endif // QT_HELLO_WORLD_H

moc_qt_hello_world.cpp:{секция Generated Files}
Код:
#include "../../qt_hello_world.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'qt_hello_world.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 59
#error "This file was generated using the moc from 4.2.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif

static const uint qt_meta_data_qt_hello_world[] = {

 // content:
       1,       // revision
       0,       // classname
       0,    0, // classinfo
       0,    0, // methods
       0,    0, // properties
       0,    0, // enums/sets

       0        // eod
};

static const char qt_meta_stringdata_qt_hello_world[] = {
    "qt_hello_world\0"
};

const QMetaObject qt_hello_world::staticMetaObject = {
    { &QMainWindow::staticMetaObject, qt_meta_stringdata_qt_hello_world,
      qt_meta_data_qt_hello_world, 0 }
};

const QMetaObject *qt_hello_world::metaObject() const
{
    return &staticMetaObject;
}

void *qt_hello_world::qt_metacast(const char *_clname)
{
    if (!_clname) return 0;
    if (!strcmp(_clname, qt_meta_stringdata_qt_hello_world))
return static_cast<void*>(const_cast<qt_hello_world*>(this));
    return QMainWindow::qt_metacast(_clname);
}

int qt_hello_world::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    return _id;
}

ui_qt_hello_world.cpp.h {секция Generated Files}
Код:

#ifndef UI_QT_HELLO_WORLD_H
#define UI_QT_HELLO_WORLD_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QToolBar>
#include <QtGui/QWidget>

class Ui_qt_hello_worldClass
{
public:
    QMenuBar *menuBar;
    QToolBar *mainToolBar;
    QWidget *centralWidget;
    QStatusBar *statusBar;

    void setupUi(QMainWindow *qt_hello_worldClass)
    {
    qt_hello_worldClass->setObjectName(QString::fromUtf8("qt_hello_worldClass"));
    qt_hello_worldClass->setObjectName("qt_hello_worldClass");
    menuBar = new QMenuBar(qt_hello_worldClass);
    menuBar->setObjectName(QString::fromUtf8("menuBar"));
    qt_hello_worldClass->setMenuBar(menuBar);
    mainToolBar = new QToolBar(qt_hello_worldClass);
    mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
    qt_hello_worldClass->addToolBar(mainToolBar);
    centralWidget = new QWidget(qt_hello_worldClass);
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
    qt_hello_worldClass->setCentralWidget(centralWidget);
    statusBar = new QStatusBar(qt_hello_worldClass);
    statusBar->setObjectName(QString::fromUtf8("statusBar"));
    qt_hello_worldClass->setStatusBar(statusBar);

    retranslateUi(qt_hello_worldClass);

    QSize size(600, 400);
    size = size.expandedTo(qt_hello_worldClass->minimumSizeHint());
    qt_hello_worldClass->resize(size);


    QMetaObject::connectSlotsByName(qt_hello_worldClass);
    } // setupUi

    void retranslateUi(QMainWindow *qt_hello_worldClass)
    {
    qt_hello_worldClass->setWindowTitle(QApplication::translate("qt_hello_worldClass", "qt_hello_world", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(qt_hello_worldClass);
    } // retranslateUi

};

namespace Ui {
    class qt_hello_worldClass: public Ui_qt_hello_worldClass {};
} // namespace Ui

#endif // UI_QT_HELLO_WORLD_H


где можно прочитать что это такое? зачем эти файлы? что каждый из них из себя представляет и что в них внутри написано?

это просто пустой проект. при компиляции я вижу форму с меню и панельку. может кто-нибудь прокомментировать код?
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Декабрь 22, 2006, 19:09 »

Все это описана в assistant. И вполне доходчиво если разбираешь английский язык. А надо бы. Файлы moc_*** и ui_*** как и написано генерируются средствами самого qt. А первые три файла тебе создал интегратор.
Или ты работаешь в qt3 и читаешь "Бланшета по qt3", либо для Qt4 Читаешь оригинал на английском. Простую программу должен разобрать сам. Поищи по форуму подобных вопросов хватает.
Записан
noname.pl
Гость
« Ответ #2 : Декабрь 22, 2006, 20:37 »

таких ответов я и сам мог бы написать целую кучу. это создает то, а то это. p.s.: я бы с удовольствием разобрал эту просстую программу. по тому же учебнику. но вот незадача. в учебнике описывается пример из одного  файла, а в студии самое простое приложение, которое я могу создать - это такой набор файлов. я бы не задавал таких тупых вопросов, если бы нашел в литературе описание того, о чем я спрашивал. вы знаете где я могу это посмотреть? с английским у меня не очень.
Записан
Вудруф
Гость
« Ответ #3 : Декабрь 22, 2006, 20:46 »

Как вариант - начать разбираться с консоли. Разобраться со строением библиотеки, с построением интерфейса вручную, а затем уже переезжать на ui.

добавлено спустя 1 минуту:

 А Бланшета, ИМХО, почитать полезно, несмотря на то, что примеры далеко не всегда работать будут Улыбающийся
Читать на английском сложнее, чем на русском, так что вариант с оригиналом совсем не для всех.
Записан
noname.pl
Гость
« Ответ #4 : Декабрь 22, 2006, 21:00 »

с довольствием! но книга Бланшета начинается с таких строк:
Код:
Ниже приводится текст простейшей Qt программы:

 1 #include <qapplication.h>
 2 #include <qlabel.h>
 3 int main(int argc, char *argv[])
 4 {
 5     QApplication app(argc, argv);
 6     QLabel *label = new QLabel("Hello, Qt!", 0);
 7     app.setMainWidget(label);
 8     label->show();
 9     return app.exec();
10 }

данный пример не работает у меня. и я не знаю что с этим сделать. не знаю где просить помощи. как я понял форум по qt на prog.org.ru - это самый большой форум по qt в инете ... больше мне негда спросить совета. за книгами ездил вчера. думаю "куплю книгу, не буду задавать тупых вопросов". так переведенных книг нормальных нету. ... я нашел в сети книгу по третьему кутэ в электронном варианте. начинаю ее изучать - и сходу получаю некомпилируемый проект. как мне изучать, методом тыка? лет 10 наверное придется, чтобы что-то узнать ... если бы я хорошо знал qt то создал бы и для себя и для других что-то типа delphi world и отправлял бы туда новичков за ответами ... но ничего подобного по qt нет.
а разбираться в элементарных вещах, не зная что к чему - на это уйдет очень много времени ... тем более в рунете но qt ВООБЩЕ ничего нету. если бы подобные моим вопросы были бы вынесены в faq и подробно описаны - я бы не писал все это здесь.  а то, что узнал бы после - тем и дополнил бы такой сборник статей. пусть не сейчас, пусть даже через полгода ...
неужели так сложно прокоментить эти файлики, которые я прислал. я и сам понимаю в них многое. но кое-что не до конца. а кое-что возможно ошибочно. если бы меня кто-то поправил то это тему легко было все время давать ссылкой для тех кто создает первый раз qt-приложение в ms visual studio ..........

добавлено спустя 6 минут:

 ведь собственно в чем проблема ... я дописываю в main.cpp строки
Код:
QLabel *label = new QLabel("Hello, Qt!", 0);
a.setMainWidget(label);
label->show();

проект компилруется только если закоментить 2ю строчку. но результат таков - кроме основного окна с пыстм меню и пустым баром выскакивает ЦЕЛОЕ ДОПОЛНИТЕЛЬНОЕ окно с одним лабелом. .... если же пользоваться графическими виджетами и киать их на форму ... то без моего участия генеряться куски кода по этим файлам. и я не знаю зачем и почему ... если бы мне удалось понять структуру такого проекта (на примере пустого, как я привел), то у меня бы появились такие вопросы, которые описаны в учебнике ... а пока что лишь те, ответов на которые я там не нашел.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #5 : Декабрь 22, 2006, 21:08 »

Ну если совсем просто, то к этому файлу у тебя должен быть файл проекта ( типа hello.pro ).
Выполни в консоли qmake - получишь makefile.
Далее nmake - приложение готово. Запускай. Все по учебнику.
Если нет файла проекта, то "qmake -project" создаст его, тоже в консоли.
Это основа. Далее сможешь изменить пример, добавить функциональности.
Попробуй компилировать примеры ($(QTDIR)/examples). Это тоже учебник Qt.
Появятся вопросы задавай.
Записан
Вячеслав
Гость
« Ответ #6 : Декабрь 22, 2006, 23:09 »

Эта
Берем
%QTDIR%\examples\tutorial\
и идем от t1 до t14 вдумчиво глядя на исходники Подмигивающий Если чего-то не понятно - ассистент , а потом сюды Подмигивающий
Записан
Dendy
Гость
« Ответ #7 : Декабрь 23, 2006, 00:50 »

Проблема в том, что книга у тебя по Qt3, а программируешь на Qt4. Например, в примере из книги указано:

Код:
a.setMainWidget( label );


Ето значит, что у тебя в программе есть главное окно (метка с надписью "Hello, Qt!"), по закрьІтию которого закроется и приложение. В Qt4 етот метод упразднён, его просо можно пропустить, программа сама закроется при закрьІтии всех окон.

Прокомментировать файльІ тут не влом. Просто все очень хорошо понимают, что если тьІ сам не сможешь разобраться в примере, то дальше у тебя будет возникать вопросов на порядок больше. Все они разжёваньІ в документации и примерах. Задавать их на форуме безсмьІсленно.

Первое приложение с помощью интегратора - слишком сложно для человека, первьІй раз увидевшего Qt. Следуй совету Вячеслава - начинай с туториалов. Или просто ходи по всем примерам и запускай всё подряд. Смотри исходники.
Записан
noname.pl
Гость
« Ответ #8 : Декабрь 23, 2006, 01:45 »

не запускается qmake. где ему прописать? в переменных окружения? где именно? то же самое с nmake. а examples рабочие. очень наглядные спасибо. ... вот только не получается у меня создать такой проект qt в котором был бы только 1 файл ... если создаю empty project .NET --- то в результате компилятор не находит подключаемые мной вручную библиотеки #include <QApplication>, #include <QPushButton> и так далее. что сделать?

добавлено спустя 29 минут:

 Dendy, спасибо что вы мне помогаете. сейчас пересматриваю примеры из туториала ... но я не могу сам создать такой же пример. переписываю код. пробую скомпилировать - компилятор ругается на непрописанные библиотеки. а где их прописать я не знаю ... все что мне сейчас нужно это суметь нормально создавать чистые проекты, разобраться в том, что из себя представляет новые проект через визард и как скомпилировать примеры из учебника. примеры из учебника из tutorial компилятся на ура ... вот осталось только два первых вопроса.
Цитировать
Прокомментировать файльІ тут не влом. Просто все очень хорошо понимают, что если тьІ сам не сможешь разобраться в примере, то дальше у тебя будет возникать вопросов на порядок больше. Все они разжёваньІ в документации и примерах. Задавать их на форуме безсмьІсленно.

приведу пример. когда я первый раз увидел виндовс (а позже линукс), то глаза мои были широко открыты. мне предлагали учебники в которых все начиналось с настройки консоли, локализации и так далее ... но меня волновали совсем другие вопросы - настройка интернета и структура man-страниц, и вопрос о том, как сделать наспех рабочую систему. когда я нашел ответы на свои вопросы я начал читать учебник с первой страницы о том, как настроить консоль ... то есть почувствовав землю под ногами мне уже было просто _интересно_ изучать систему по учебнику. когда сама система уже в полете. другой пример - музыка. меня хотели отдать в муз.школу, но заниматься в ней мне показалось утомительно, по-этому я нашел себе преподавателя, который бы мне сначала дал то, _что_нужно_мне_, прошло полтора года и ноты меня зацепили очень сильно, я стал печатать их и разбирать. сейчас я неплохо владею импровизацией ... третий пример. когда я в 10м классе увидел первый раз паскаль мне почему-то было неинтересно делать "телефонный справочник", я занимался только тем чем заинтересовался - математические задачки. через 2 месяца я уже учавствовал в городской олимпиаде, в след году был призером областной, ещё через год университетской.

я не хочу сказать, что я что-то хорошо знаю или плохо. о qt я слышу уже порядка года. но увидел его буквально неделю назад. и меня на столько проперло от него, что 2 дня спустя я нашел где его скачать, а вы помогли мне его установить. за что я немерянно благодарен.

не думаю что подобных моему вопросов не звучит ... и если на него ответить, то можно было бы и его включить в faq.

а я через полгода присоединюсь и скорее всего мне уже будет что сказать о qt "из личного опыта" ...

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

надеюсь меня поняли о чем я хотел сказать ... уже поздно и мозг плавает в пиве.
Записан
Dendy
Гость
« Ответ #9 : Декабрь 23, 2006, 03:05 »

noname.pl, полностью с вами согласен. Многие люди непонимают, что сухой документацией приманить человека сложно. Гораздо важнее сходу заинтересовать, приманить чем-нибудь красивьІм и понятньІм. ГорьІ мануалов обьяснят все мелочи, но ето как раз и неважно. Важно поддерживать ощущение простотьІ и понятности, неважно какими жертвами. Иначе человек со всеми талантами и ентузиазмом может разочароваться в идее.

Именно поетому мьІ сейчас организуем Wiki. Для лёгкого старта. ВьІ не первьІй и не последний, кто будет задавать такие вопросьІ. И без вики отвечать на них будет утомительно. Просто вьІ попали в тот момент, когда всё ето зарождается. Ну не смогут вам лично на форуме уделить много внимания. МьІ сделаем всё возможное, чтобьІ разжевать все вопросьІ в статьях.

ВопросьІ, которьІе вьІ задали абсолютно корректньІ. Претензий нет. 5 файлов из генератора проекта, что в них? Я бьІ тоже удивился. Просто обсуждая библиотеку подразумевается, что начинающий пользователь знаком с язьІком С++, компилляторами, файловой системой, переменньІми окружения, зависимостями сборки и так далее. Именно поетому вам предлагается начать не с интегратора, а с примеров.

Кроме того документация Qt великолепна и самодостаточна. ОткрьІваем главную страницу Асистанта и видим:

How to Learn Qt
Installation
Tutorial and Examples

Клацаем и читаем все три пункта.

Теперь по делу.

Цитата: "noname.pl"
не запускается qmake. где ему прописать? в переменных окружения? где именно? то же самое с nmake.


Проблема не в Qt. Нужно добавить в переменную окружения PATH каталог: qtdir/bin. Как компилировать с командной строки. Мой рецепт.

1. Копируем файл:
c:\Program Files\Microsoft Visual Studio 7\Common7\Tools\vsvars32.bat
в
C:\Windows\vars7.bat

2. ОткрьІваем етот файл и добавляем в начало:
Код:
@set PATH=path\to\qt\bin;%PATH%
@set QTDIR=path\to\qt
@set QMAKESPEC=win32-msvc.net


3. Сохраняем файл.

4. Заходим в любой каталог с примером. ОткрьІваем консоль.
Код:
cmd
vars7
qmake
nmake


cmd - открьІть консоль
vars7 - запустить наш батник с переменньІми Qt и Студии 7.
qmake - создать Makefile
nmake - собрать проект с помощью Makefile

Теперь как сделать проект Qt в студии.

1. ОткрьІваем студию.

2. НовьІй пустой проект Win32.

3. Добавляем в настройки проекта:

C/C++ / General / Additional Include Directories:
path/to/qt/include;path/to/qt/include/QtCore;path/to/qt/include/QtGui

Linker / General / Additional Library Directories:
path/to/qt/lib

Linker / Input / Additional Dependencies:
qtmaind.lib QtCored4.lib QtGuid4.lib

4. Добавляем в проект новьІй CPP файл: main.cpp. Редактируем его:
Код:
#include <QApplication>
#include <QLabel>

int main( int argc, char ** argv )
{
    QApplication app( argc, argv );
    QLabel label( "Hello, Qt!" );
    label.show();
    return app.exec();
}


5. Компилим. Запускаем.
Записан
Steven_Orko
Гость
« Ответ #10 : Декабрь 23, 2006, 03:16 »

to noname.pl Хочу поитересоваться возрастом вашим ))))
Ни чего лично, извиняй, но!!!
Допустим, что вы начали работать с КуТе, ну, два дня, ну, три-четыре назад.... Это не имеет значения. А перед КуТе что было??? Какая ОО-библиотека использовалась? На каком языке были ваши первые программы? В какой среде вы работали раньше?
Попробуйте задать себе вопрос, можете ли вы отличить компилятор от препроцессора и линковщика? Какие у них функции? Примерный алгоритм их работы? Какие им нужны входные данные, прежде, чем вы получите готовую программу. Судя по всему, вы не застали времена или не захотели застать, когда исходный тект программы набивался вручную во вручную же созданный текстовый файл. Те времена, когда сначала получали объектники, а потом уже их линковали. Это сейчас все в одном флаконе )))
По поводу вашего первого примера из КуТе, и почему студия создает самый простой проект с использованием UI-файлов:
Кто мешат вам создать текстовый файл, вбить туда то, что написано ручками и выполнить действия, которые указаны в книге? На форуме принято задавать вопросы типа, пытаюсь сделать то-то и то-то, но получаю кучу ошибок и/или неверное поведение программы. А по вопросам "научите меня жить", это надо обращаться совсем к другим людям.
P.S. Я сам начинал именно с тех же граблей, что вы описали выше...
Записан
noname.pl
Гость
« Ответ #11 : Декабрь 23, 2006, 17:25 »

2Steven_Orko% перед кутэ я год не программировал. ко всему добавить, что я не был превосходным программистом и до этого времени (кое-что мне давалось легче чем возможно кому-либо,  но я не удалял программированию почти никакого внимания). да, выполнял работу за деньги(delphi), учился, иногда писал что-то веселое для себя ... где-то так. первые программы на паскале. потом дельфи, позже перл. среды соответственно tp7/delphi7/vim. да, могу отличить компилятор от линковщика. и примерное представляю, какие функции они выполняют. ну собственно на tp7 и perl всегда приходилось писать в созданном собственноручно файлике. а лет мне 19, не воспринял этот вопрос как личный, но все же интересно что это меняет.
p.s.: я не прошу учить меня жить, всего лишь разобраться в элементарном. если разобраться в чем-то простом, простой структуре этих файлов, то в больших проектах уже будет не так важно 5 файлов или 125 и сколько в них строк. структура остается той же ... применяем индуктивный метод = и ответ у нас на лодони.

2Dendy% не знаю как и благодарить. но сегодня уже вряд ли буду программировать, час поздний, по-этому проделаю все вами описанное завтра с утреца...

добавлено спустя 12 часов 54 минуты:

 компиляция начинается, но не выполняется. ошибки:
Код:

win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QLabel::~QLabel(void)" (__imp_??1QLabel@@UAE@XZ) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QString::~QString(void)" (__imp_??1QString@@QAE@XZ) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QLabel::QLabel(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QLabel@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) private: static struct QString::Data * __cdecl QString::fromAscii_helper(char const *,int)" (__imp_?fromAscii_helper@QString@@CAPAUData@1@PBDH@Z) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z) referenced in function _main
win32nafeg error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup
win32nafeg fatal error LNK1120: 9 unresolved externals

это я пытаюсь сделать "чистый win32". консольный вариант пока что не пробывал. переменные окружения прописаны.

Цитировать
Linker / Input / Additional Dependencies: qtmaind.lib QtCored4.lib QtGuid4.lib

у меня находится почему-то в Custom Build Step а не в Linker/Input ...
Записан
Dendy
Гость
« Ответ #12 : Декабрь 23, 2006, 18:31 »

Забей на Custom Build и вьІтри всё оттуда. Добавь либьІ именно как я написал: Linker/Input. И не забуть про

Linker / General / Additional Library Directories:
path/to/qt/lib
Записан
noname.pl
Гость
« Ответ #13 : Декабрь 23, 2006, 18:53 »

прописываю в Linker/Input/Additional Dependecies qtmaind.lib QtCored4.lib QtGuid4.lib. из Custom Build все убрал. результат:
Код:
win32nafeg error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBC.lib(typinfo.obj)
win32nafeg error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBC.lib(typinfo.obj)
win32nafeg error LNK2005: "public: __thiscall bad_cast::bad_cast(char const *)" (??0bad_cast@@QAE@PBD@Z) already defined in LIBC.lib(stdexcpt.obj)
win32nafeg fatal error LNK1169: one or more multiply defined symbols found
win32nafeg warning LNK4098: defaultlib 'msvcrtd.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
Записан
Dendy
Гость
« Ответ #14 : Декабрь 23, 2006, 19:10 »

Встаёт вопрос:
1. Как тьІ ставил Qt?
2. БьІл ли проект в Студии по умолчанию?
3. Стоит ли в C/C++ / Code Generation / Runtime Library / Multi-threaded debug DLL (/MDd)?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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