Seite 1 von 1
include nicht gefunden (VS2008)
Verfasst: 7. Februar 2010 01:25
von member
hallo,
Beim Kompilieren mit einer Qt Library wird diese nicht gefunden.
Mit Visual Studio 2008 wurden Qt Libraries eingebunden,
Tools -> Options -> Projects and Solutions -> VC++ Directories,
includes aus dem Qt\4.6.1\include Ordner, executables aus
dem bin Ordner. Mit dem
Visual Studio 2008 x64 Cross Tools Command Prompt wurde "configure" und
nmake im Qt\4.6.1\ Verzeichnis ausgeführt.
Bei Einfügen einer Bibliothek #include<Qdir>
wird eine Fehlermeldung ausgegeben: 'Qdir': no such file or directory.
Verfasst: 7. Februar 2010 03:03
von kater
Es ist ja auch QDir mit einem großen D. Oder ignoriert Windows immernoch die Gross/Kleinschreibung?
Welche Include Ordner hast du denn jetzte genau eingebunden?
Verfasst: 7. Februar 2010 04:23
von member
Platform: x64
Show Directories for:
Executables files: Qt\4.6.1\bin
Include files: Qt\4.6.1\include
Library files: Qt\4.6.1\lib
Source files: Qt\4.6.1\src
Verfasst: 7. Februar 2010 09:02
von Christian81
- zum Erstelen von vcproj-Datein benutzt man qmake
- QDir iegt in Qt/4.6.1/include/QtCore
- was ht das ganze mit Cross-compile zu tun?
Verfasst: 8. Februar 2010 06:35
von member
Danke für den Hinweis.
Beim Kompilieren des Bsp-Codes aus
http://doc.trolltech.com/4.6/qdir.html
Code: Alles auswählen
#include<iostream>
#include<QDir>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QDir dir;
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Size | QDir::Reversed);
QFileInfoList list = dir.entryInfoList();
std::cout << " Bytes Filename" << std::endl;
for (int i = 0; i < list.size(); ++i) {
QFileInfo fileInfo = list.at(i);
std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10)
.arg(fileInfo.fileName()));
std::cout << std::endl;
}
return 0;
}
erscheint jedoch die Fehlermeldung:
'app' uses undefined class 'QCoreApplication'
Muss dafür noch eine weitere Qt Library in VS incuded werden ?
Verfasst: 8. Februar 2010 06:53
von Christian81
Das Beispiel ist eben nicht ganz vollständig. ber so schwer nun auch nicht zu fixen. Wenn er eine Klasse nicht findet sollte man den Header includieren in dem die Klasse definiert ist. C++ Grundlagen würd ich sagen.
Verfasst: 9. Februar 2010 07:44
von member
oder noch besser: BspCode hello world
Code: Alles auswählen
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
Die einzigen Ordner im VS2008 included sind
C:\mySoftware\Qt\4.6.1\include\QtGui
C:\mySoftware\Qt\4.6.1\include
(Platform: Win32, Show Directories for: Include Files, keine Executables
oder Lib Ordner zusätzlich)
Trotzdem kommt eine LinkerFehlermeldung:
error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ) referenced in function _main
[/code]
Verfasst: 9. Februar 2010 08:05
von Christian81
Wurde das Projekt mit qmake oder von Hand erzeugt? Ich empfehle das Erstellen per qmake... denn sonst wird es spätestens bei den moc- und ui-Dateien kompliziert.
Verfasst: 10. Februar 2010 05:58
von member
weisst du vll, wie man das bsp prog mit cmake erstellt ?
Verfasst: 10. Februar 2010 06:29
von Christian81