-
Bonjour :)
Alors voilà: je me lance pour faire un (grand) jeu, mais dès le départ, ça plante.
Mon debugger m'a dit un truc du genre "During startup program exited with code 0xc0000135".
Bizarre bizarre o.o'
Alors heu voilà mon .pro:
TEMPLATE = app
QT = sql widgets
TARGET = Teal
SOURCES += \
main.cpp \
teal_connex.cpp \
hl_sha1wrapper.cpp \
hl_sha1.cpp
HEADERS += \
teal_connex.h \
hl_sha1wrapper.h \
hl_sha1.h \
hl_hashwrapper.h \
hl_types.h
INCLUDEPATH += C://Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
# Je suis avec SFML static, pas de DLL avec moi. J'ai pas manqué un truc à propos de ça ?
win32:CONFIG(debug, debug|release): LIBS += \
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics-d -lsfml-window-d -lsfml-system-d
else:win32:CONFIG(release, debug|release): LIBS += \
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics -lsfml-window -lsfml-system
Mon main.cpp:
#include "teal_connex.h"
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
int main(int argc, char *argv[])
{
sf::RenderWindow w(sf::VideoMode(400, 400, 32), "Teal");
Teal teal;
while (w.isOpen())
{
sf::Event event;
while (w.pollEvent(event))
{
if (event.type == sf::Event::Closed)
w.close();
}
w.clear();
w.draw(teal);
w.display();
}
return 0;
}
Mon teal_connex.h:
#ifndef TEAL_CONNEX_H
#define TEAL_CONNEX_H
#include <QtSql>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QFormLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QString>
#include <QMessageBox>
#include "hl_sha1wrapper.h"
#include "hl_sha1.h"
#include "hl_hashwrapper.h"
#include <string>
#include <QPixmap>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
class Teal : public QWidget, public sf::Drawable
{
public:
Teal();
~Teal();
public slots:
void connex();
private:
Q_OBJECT
void draw(sf::RenderTarget& target, sf::RenderStates states) const;
QLabel *titre;
QLabel *connexion;
QWidget fen;
QVBoxLayout *texte;
QLineEdit *pseudo;
QLineEdit *pass;
QFormLayout *formLayout;
QVBoxLayout *layoutPrincipal;
QPushButton *boutonConnexion;
QString s_pseudo;
QString s_pass;
QString t_pseudo;
QString t_pass;
int s_id;
};
#endif // TEAL_CONNEX_H
Et mon teal_connex.cpp:
#include "teal_connex.h"
using namespace sf;
Teal::Teal() : QWidget(), Drawable()
{
this->setFixedSize(400, 400);
QWidget fen(this);
texte = new QVBoxLayout;
titre = new QLabel("Teal");
connexion = new QLabel("Connexion");
texte->addWidget(titre);
texte->addWidget(connexion);
pseudo = new QLineEdit;
pass = new QLineEdit;
pass->setEchoMode(QLineEdit::Password);
formLayout = new QFormLayout;
formLayout->addRow("Pseudo: ", pseudo);
formLayout->addRow("Pass:", pass);
layoutPrincipal = new QVBoxLayout;
layoutPrincipal->addLayout(texte);
layoutPrincipal->addLayout(formLayout); // Ajout du layout de formulaire
boutonConnexion = new QPushButton("Se Connecter");
QObject::connect(boutonConnexion, SIGNAL(clicked()), this, SLOT(connex()));
layoutPrincipal->addWidget(boutonConnexion); // Ajout du bouton
fen.setLayout(layoutPrincipal);
fen.show();
//End of fen
QWidget allGame(this);
/*QWidget servChoice(&allGame);
//...
//End of servChoice*/
QWidget charChoice(&allGame);
//End of charChoice
QWidget game(&allGame);
QWidget normal(&game);
QWidget cbt(&game);
QWidget statusBar(&game);
//End of game
// End
this->show();
allGame.hide();
}
Teal::~Teal() {
delete layoutPrincipal;
layoutPrincipal = 0;
}
void Teal::connex() {
QString t_pseudo = pseudo->text();
QString t_pass = pass->text();
std::string std_t_pass = t_pass.toStdString();
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("un truc");
db.setPassword("un truc");
db.setDatabaseName("un truc");
if (db.open()) {
QSqlQuery qry("SET autocommit = 0",db);
if (!qry.exec()) {
db.close();
QMessageBox::critical(&fen, "Erreur", "Erreur: Unable to do autocommit. Error executing query qry. Merci de reporter cette erreur.");
return;
} else {
hashwrapper *sha1 = new sha1wrapper();
std::string std_try_pass = sha1->getHashFromString(std_t_pass);
QString v_pass(std_try_pass.c_str());
delete sha1;
sha1 = 0;
QSqlQuery query;
query.prepare("SELECT * FROM membre WHERE pseudo = ? AND pass = ?");
query.addBindValue(t_pseudo);
query.addBindValue(v_pass);
if(!query.exec())
{
db.close();
QMessageBox::warning(&fen, "Erreur", "Erreur: Unable to execute query query. Merci de reporter cette erreur.");
//qDebug() << query.lastError();
return;
}
if (!query.first()) {
db.close();
QMessageBox::warning(&fen, "Erreur", "Erreur: Mauvais pseudo ou mot de passe.");
return;
}
if (query.value(10).toString() == "yes") {
QMessageBox::warning(&fen, "Erreur", "Erreur: Vous êtes banni.");
db.close();
return;
}
this->s_id = query.value(0).toInt();
this->s_pseudo = query.value(2).toString();
this->s_pass = query.value(3).toString();
QMessageBox::information(&fen, "Connecté", "Vous êtes connecté, "+s_pseudo); // PrepareToPlay
// fen.hide();
// servChoice.show();
}
db.commit();
db.close();
} else {
QMessageBox::critical(&fen, "Erreur", "Erreur: Unable to open database.");
return;
}
return;
}
// Truc qui sert à rien.
void Teal::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
return;
}
Err... je vois pas le problème... vous pourriez m'aider siouplait ? :D
M'ci :)
-
# Je suis avec SFML static, pas de DLL avec moi. J'ai pas manqué un truc à propos de ça ?
Je ne vois rien dans ton .pro qui suggère l'utilisation des bibliothèques statiques de SFML. Il ne suffit pas de le dire pour que ça arrive magiquement ;)
Relis le tutoriel de démarrage attentivement. Tout est expliqué.
-
C'était donc ça ! Ah bin merci alors ^^
-
Eh bah... toujours pas ! :l
Je vois pas du tout le problème... Help please ?
mon .pro:
TEMPLATE = app
QT = sql widgets
TARGET = Teal
SOURCES += \
main.cpp \
teal_connex.cpp \
hl_sha1wrapper.cpp \
hl_sha1.cpp
HEADERS += \
teal_connex.h \
hl_sha1wrapper.h \
hl_sha1.h \
hl_hashwrapper.h \
hl_types.h
DEFINES += SFML_STATIC
INCLUDEPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
DEPENDPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
win32:CONFIG(debug, debug|release): LIBS += \ #
-LC:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-graphics-s-d.a \ #
-LC:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-window-s-d.a \ #
-LC:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-system-s-d.a #
else:win32:CONFIG(release, debug|release): LIBS += \ #
C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-graphics-s.a \ #
C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-window-s.a \ #
C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/libsfml-system-s.a #
mon main:
#include "teal_connex.h"
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
int main(int argc, char *argv[])
{
Teal teal;
while (teal.isOpen())
{
sf::Event event;
while (teal.pollEvent(event))
{
if (event.type == sf::Event::Closed)
teal.Window::close();
}
teal.clear();
teal.display();
}
return 0;
}
mon début de .cpp et .h
//.cpp
Teal::Teal() : QWidget(), RenderWindow(VideoMode(400, 400), "Teal")
//.h
class Teal : public QWidget, public sf::RenderWindow
Et le compilo me sort 19 erreurs comme ça:
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\main.o:-1: In function `Z5qMainiPPc':
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\main.cpp:15: erreur : undefined reference to `sf::Window::close()'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\main.cpp:12: erreur : undefined reference to `sf::Window::pollEvent(sf::Event&)'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\main.cpp:18: erreur : undefined reference to `sf::Color::Color(unsigned char, unsigned char, unsigned char, unsigned char)'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\main.cpp:18: erreur : undefined reference to `sf::RenderTarget::clear(sf::Color const&)'
etc...
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\teal_connex.o:-1: In function `ZN4TealC2Ev':
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\teal_connex.cpp:5: erreur : undefined reference to `sf::String::String(char const*, std::locale const&)'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\teal_connex.cpp:5: erreur : undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\teal_connex.cpp:5: erreur : undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'
C:\Users\william\Projets\C++\newQt\Projects\dofus\Code\teal_v0-1\teal_connex.cpp:5: erreur : undefined reference to `sf::RenderWindow::~RenderWindow()'
etc etc etc...
What's the problem ? o_o'
-
Tes lignes "LIBS +=" étaient correctes la première fois, là t'as fait n'importe quoi en les réécrivant ;)
-
Ah ? J'en suis pas si sûr...
(mon nouveau .pro)
TEMPLATE = app
QT = sql widgets
TARGET = Teal
SOURCES += \
main.cpp \
teal_connex.cpp \
hl_sha1wrapper.cpp \
hl_sha1.cpp
HEADERS += \
teal_connex.h \
hl_sha1wrapper.h \
hl_sha1.h \
hl_hashwrapper.h \
hl_types.h
# Oui, oui, j'ai bien fait qmake + clean. pour le make je vois pas
# du tout ou c'est, mais ça doit pas être très important...
DEFINES += SFML_STATIC
INCLUDEPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
DEPENDPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
##########################################################################
win32:CONFIG(debug, debug|release): LIBS += \ #
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics-s-d -lsfml-window-s-d -lsfml-system-s-d
##########################################################################
else:win32:CONFIG(release, debug|release): LIBS += \ #
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics-s -lsfml-window-s -lsfml-system-s
##########################################################################
-
Voilà, maintenant c'est correct (note que tu pourrais éviter de répéter -L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" en le sortant de la condition).
Toujours exactement les mêmes erreurs que précédemment ?
PS : t'as vraiment mis SFML dans le répertoire mingw48_32/include ? c'est moche :-\
-
Oui toujours les mêmes erreurs.
Enfin j'en ai d'autres en fait.
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp:312: erreur : undefined reference to `glMatrixMode@4'
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp:332: erreur : undefined reference to `glPopMatrix@0'
etc...
(j'en ai 180 comme ça x_x)
Ah, WAIT, d'où il me sort D:\sfml-release ? J'ai pas de dossier sfml-release dans mon disque dur D:
Et oui, j'ai vraiment mis ça dans mingw/include, comme ça, pas besoin de me casser la tête pour les headers, j'ai juste à faire <SFML/truc.h>
-
Ce ne sont pas les mêmes erreurs en effet, et c'est très important : là ce que tu as oublié c'est qu'en mode statique, tu dois aussi lier toi-même toutes les dépendances de SFML (cf. le tutoriel de démarrage).
Et oui, j'ai vraiment mis ça dans mingw/include, comme ça, pas besoin de me casser la tête pour les headers, j'ai juste à faire <SFML/truc.h>
Ah bon ::)
INCLUDEPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
-
Lier aussi toutes les dépendances ? Arf... Keduboolo.
Et heu... alors commençons par les dépendances de system. où est winmm.a ? j'ai regardé dans lib et bin o.o'
-
Toutes les dépendances citées sont soit des bibliothèques système (elles sont dans ton compilo), soit fournies avec SFML.
Lier aussi toutes les dépendances ? Arf... Keduboolo.
Les bibliothèques statiques n'ont pas que des avantages ;)
-
Dans mon compilo ? Vraiment ? Jeansuipassisur... J'ai regardé :
5.2.1\mingw48_32\bin
5.2.1\mingw48_32\lib
et
Tools\mingw48_32\bin
Tools\mingw48_32\lib
Y'a pas winmm.
-
Bon, J'en ai marre, je ferai avec les dlls.
Mais, c'est aussi simple que ça ? Copier-coller les dlls dans le répertoire de l'éxécutable et hop, ça marche ?
-
mingw482_32\i686-w64-mingw32\lib\libwinmm.a (c'est quand même pas compliqué de faire une recherche de fichier avec ton OS).
Mais pourquoi diable cherches-tu le fichier ? Mets juste "-lwinmm" dans ton projet et laisse le truc marcher tout seul.
Ensuite oui, pour le lien dynamique il faut juste que les DLLs soient à côté de l'exécutable (ou dans un chemin référencé dans la variable d'environnement PATH).
-
Nouvelle erreur, mais ça a avancé, c'est déjà ça !
Alors mon erreur est: 0x0000139. (Avant c'était 135)
J'ai copié toutes les DLLs dans les répertoires debug et release de mon projet (j'ai mis les dlls release et debug dans chaque répertoire, sans faire la différence avec les d à la fin ou non.)
Et... heu... bah voilà mon nouveau .pro ^^' (on peut pas dire qu'il a vraiment changé...)
TEMPLATE = app
QT = sql widgets
TARGET = Teal
SOURCES += \
main.cpp \
teal_connex.cpp \
hl_sha1wrapper.cpp \
hl_sha1.cpp
HEADERS += \
teal_connex.h \
hl_sha1wrapper.h \
hl_sha1.h \
hl_hashwrapper.h \
hl_types.h
##########################################################################
win32:CONFIG(debug, debug|release): LIBS += \ #
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics-d -lsfml-window-d -lsfml-system-d
##########################################################################
else:win32:CONFIG(release, debug|release): LIBS += \ #
-L"C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/lib/" -lsfml-graphics -lsfml-window -lsfml-system
##########################################################################
INCLUDEPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
DEPENDPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/include
What's the problem ?(tiens elle est cool celle balise)
-
J'ai copié toutes les DLLs dans les répertoires debug et release de mon projet
C'est là que se trouve ton exécutable ?
-
*va voir le répertoire debug pour voir si l'exécutable y est encore*
Heu oui oui, il est bien là mon exécutable.
-
Ce serait bien d'avoir un message d'erreur un peu plus instructif qu'un chiffre. Tu n'as rien d'autre dans ton log d'exécution ou via le debugger ?
-
Tu veux tout savoir ? Eh bah tu va tout savoir.
Quand j'exécute:
Démarrage de C:\Users\william\Projets\C++\...\build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\Teal.exe...
Le programme s'est terminé subitement.
C:\Users\william\Projets\C++\...\build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\Teal.exe a planté
Quand je debug:
(popup)During startup program exited with code 0x0000139.
et dans la console: Début du débogage
Le débogage est fini
Hum hum ? Je vois pas ce que tu peux faire avec tout ça...
EDIT: ah et, si tu veux le truc sortie de compilo:
12:29:52: Exécution des étapes pour le projet teal_v0-1...
12:29:52: Configuration inchangée, étape qmake sautée.
12:29:52: Débute : "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe"
C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/william/Projets/C++/.../build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'C:/Users/william/Projets/C++/.../build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
12:29:56: Le processus "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" s'est terminé normalement.
12:29:56: Temps écoulé : 00:04.
-
Fais voir une capture d'écran de ce qu'il y a dans le répertoire C:\Users\william\Projets\C++\...\build-teal_v0-1-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\ ?
-
(http://zupimages.net/up/15/09/vzds.png)
-
Bon, et donc, je fais quoi ?
-
J'en sais rien. Il y a trop peu d'informations pour pouvoir t'aider. Il faudrait que tu fasses un peu de recherche sur ton IDE et ton debugger, je ne peux pas croire qu'ils ne soient pas capables de te donner une information plus précise que ça.
-
Moi je crois bien.
-
Bon, ça's trouve c'est à cause de ma version de GCC. enfin bizarre...
Qt utilise le compilateur MinGW, mais j'ai aussi des répertoires et des libs avec gcc dedans. Et y'a un répertoire dans un autre répertoire GCC qui s'apelle 4.8.0. Et quand je vois les versions de téléchargements, y'a GCC 4.9.2 MinGW dw2, que j'ai téléchargé (j'ai gcc 4.8.0 et mingw dw2 apparemment) et GCC 4.8.0 sans MinGW.
Bon je télécharge quoi alors ?
-
La première chose à faire est de se renseigner sur ce que signifient exactement MinGW, gcc, DW2, etc. C'est déjà pas facile de s'y retrouver entre les différentes variantes qui existent sous Windows, alors si tu t'y aventures sans savoir de quoi tu parles, ça va être compliqué.
-
Se renseigner, se renseigner, se renseigner...
Que de la théorie. A quand la pratique ?
Alors je télécharge quoi ?
-
Ce qui correspond à ton compilateur.
-
Chelou.
Enfin bref, j'ai téléchargé sfml gcc 4.8.1 32bits, je met les dlls dans le bin mingw, pas dans le répertoire de projet, et j'ai l'erreur 0xc0000135.
J'ai téléchargé sfml gcc 4.9.2 mingw dw 32bits, je met les dlls dans le bin mingw(en enlevant les anciennes), pas dans le répertoire de projet, et j'ai l'erreur 0xc0000139.
Sérieusement... je fais quoi moi ?
Btw: Voici mon .pro (j'ai fait un nouveau projet rien que pour sfml)
TEMPLATE = app
SOURCES += \
main.cpp
DEFINES += SFML_DYNAMIC
LIBS = -LC:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/SFML-2.2/lib
win32:CONFIG(debug, debug|release): LIBS += -lsfml-graphics-d -lsfml-main-d -lsfml-window-d -lsfml-system-d
win32:CONFIG(release, debug|release): LIBS += -lsfml-graphics -lsfml-main -lsfml-window -lsfml-system
INCLUDEPATH += C:/Qt/Qt5.2.1/5.2.1/mingw48_32/include/SFML/SFML-2.2/include
Et mon .cpp:
#include <SFML/Graphics.hpp>
int main(int argc, char *argv[])
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Qu'est ce qu'y a de pas bon ?
-
Déjà, ça ne vient pas de ton code. Ensuite ça ne vient plus de ton .pro, maintenant il est correct (note que SFML_DYNAMIC ne sert à rien).
Exécute un "gcc -v" et montre moi le résultat.
-
(je précise qu'il n'y a rien dans le répertoire de mon exécutable, toutes les dlls sont dans le bin de 5.2.1/mingw)
Heu, gcc -v ? Comment je fais ça ? o.o' à la sortie de l'application ou de compilation ? Ou bien dans la console QML/JS ?
(ouai, j'ai pas l'habitude de l'invite de commandes...)
-
Tu ouvres une console, tu vas dans le répertoire "bin" de ton compilateur (assure-toi que c'est bien le bon hein), et tu tapes la commande.
-
Le bon ? Lequel ? Celui de 5.2.1\mingw ou Tools\mingw ? *erf*
-
(précision: dans le tools\mingw, y'a des dossiers qui ne sont pas en 5.2.1\mingw: libexec, etc, et i64884_truc)
-
Si tu ne sais même pas quel compilateur tu utilises, tu as déjà un gros problème... :P
Mais "5.2.1\mingw" c'est une version de Qt non, pas un compilateur ?
-
Ouai je sais, y'a 5.2.1\mingw\bin et tools\mingw\bin...
Et mingw est un compilateur... enfin je crois '-'
-
Pour ma part je ne sais pas comment t'aider plus que ça. Tu es visiblement perdu dans ton propre environnement de travail, partant de là il n'y a que toi qui peut t'aider à résoudre le problème d'environnement auquel tu es confronté. Moi je ne peux pas te guider dans quelque chose qui t'es aussi étranger. Met tes idées au clair, identifie clairement tes outils et leurs emplacements, et ensuite on verra si on peut avancer. Sinon on va y passer 3 mois.
-
C'est bon, j'ai trouvé, fallait le faire dans tools.
Et quand je fais gcc -v il me met plein de trucs chelous de 3 pages... ???
-
Et quand je fais gcc -v il me met plein de trucs chelous de 3 pages... ???
Exécute un "gcc -v" et montre moi le résultat.
C'est long quand même cette histoire, y'en a qui risquent de perdre patience. :p
-
(http://zupimages.net/up/15/10/mgmn.png)
Gurps... (j'ai pris que la fin, je dois aussi prendre le début ? x_x)
-
Il semblerait que tu aies besoin de SFML pour mingw 4.8.0 (ou 4.8.1 peu importe pour le dernier numéro de version) DW2 (et pas SJLJ). Or, cette version ne semble pas disponible sur le site, il faut donc que tu compiles SFML toi-même.
-
Comme par hasard...
D'accord, merci de l'aide :)
-
Heuuu...
Citation: Compiler SFML 2.2 avec CMake:
Voici les toutes premières étapes à effectuer :
Indiquez à CMake où se trouve le code source de SFML (ce doit être la racine de la hiérarchie SFML, là où se trouve le premier fichier CMakeLists.txt).
Choisissez où vous voulez générer les projets/makefiles (si le répertoire n'existe pas, CMake le créera).
Cliquez sur le bouton "Configure".
« ce doit être la racine de la hiérarchie SFML, là où se trouve le premier fichier CMakeLists.txt »
J'ai pas ce fichier texte à la racine de SFML...
-
C'est quoi le rapport ? On n'est pas en train de chercher à compiler SFML là...
-
C'est quoi le rapport ? On n'est pas en train de chercher à compiler SFML là...
Si, parce qu'il n'y a pas de binaires pour GCC 4.8 DW2.
« ce doit être la racine de la hiérarchie SFML, là où se trouve le premier fichier CMakeLists.txt »
J'ai pas ce fichier texte à la racine de SFML...
Télécharger les sources de SFML depuis la page de téléchargement : http://www.sfml-dev.org/files/SFML-2.2-sources.zip
-
Ah, sorry j'avais loupé un message en cours de route.
-
d'accord, je vais télécharger.
-
Oh super... un autre problème --'
C:/Qt/Qt5.2.1/Tools/mingw_48_32/bin> cmake-gui
Voilà ce que je fait dans l'invite de commandes.
'cmake-gui n'est pas reconnu en tant que programme... blablabla...'
Euh, j'ai bien mingw\bin dans ma variable path. (sinon j'aurais pas pu faire gcc -v)
Et, quand je regarde le répertoire bin, je vois:
Ni cmake
Ni cmake-gui.
Euh...
-
L'exécutable cmake-gui fait partie de CMake, pas de Qt ni MinGW.
-
Et euh... où je trouve CMake moi ?
-
Il y a le lien dans le tutoriel. Et sans trop me mouiller, je pense que Google peut également te l'indiquer.
Cette discussion traîne beaucoup trop en longueur. Essaye de te débrouiller un minimum tout seul avec les ressources existantes et un peu de recherche personnelle. Si tu ne te sens pas capable de faire ça, alors peut-être devrais-tu commencer par des choses moins compliquées, n'impliquant pas l'utilisation d'une bibliothèque tierce.
-
Eh bah... si.
-
J'ai compilé SFML avec CMake.
Et... j'ai les .dlls et les .a mais où sont les headers ?
-
Quelque part dans un dossier /include
-
Super... et quand j'ai (presque) tout fini et que je teste mon code...
C:\Users\..............\test-sfml\main.cpp:18: erreur : 'class sf::Window' has no member named 'clear'
window.clear();
^
Euh, sf::window est pas censé avoir ce membre "clear" ?
Par contre, si j'enlève clear...
YEAH ! ÇA MARCHE ! ENFIN ! TOUT CELA N'AURA PAS ÉTÉ VAIN ! :D :D :D
Mais j'ai toujours pas clear(); :-\
-
Euh, sf::window est pas censé avoir ce membre "clear" ?
C'est quand même pas compliqué à vérifier avec la documentation de l'API. Si tu persistes à ne pas vouloir bouger tes fesses un minimum tu vas commencer à avoir des problèmes sur ce forum. Il y a des milliers d'autres utilisateurs qui ont besoin d'aide, tu ne peux pas monopoliser l'attention pour des questions qui trouvent leur réponse très simplement sur Google ou dans la documentation disponible.
-
Euh, sf::window est pas censé avoir ce membre "clear" ?
http://www.sfml-dev.org/documentation/2.1-fr/classsf_1_1Window.php (http://www.sfml-dev.org/documentation/2.1-fr/classsf_1_1Window.php)
Tu as des origines Tibétaine Laurent ? ou le féminin de ton prénom , c'est Patience ? :)