salut a tous
j´utilise comme ide dev cpp , et j´ai voulu me mettre à Directx 9 . j´ai telecharge un tutorial tout ballot , comment créer une fenetre vide .
Et là , ca marche pas -tiens donc ! -
quand je compile , j´obtiens : [linker error ] undefined reference to ´Direct3DCreate9@4´
c la seule erreur présente :p
pourtant , j´ai bien le SDK ( octobre update )
j´ai mis les . h dans le repertoire include , et les . lib dans le repertoire lib . .. à ce propos , le repertoire contient des . a alors que directx n´a que des . lib . .. normal ?
Bon ca fait deux heures que je cherche sur differents forums croyez - moi ![]()
et il semblerait que je ne sois pas le seul a avoir ce probleme , mais personne ne le resout :
- certains disent de convertir les . lib en . a , sans dire comment
- d´autres de télécharger le package devpack directx9 : je l´ai fait ( outil - nouvelle version . .. directx 9 ) ca change rien .
- j´en ai profite pour passer a la 4.9.9.1
- d´autres disent qu´il faut linker les . lib dans option du projet . .. mouais .
Alors je voudrais savoir , y en a t´il qui parviennent à programmer avec directx 9 sous dec cpp ?
Et comment avez vous fait ?
Bon sinon j´ai la version beta 2005 de visual studio mais elle m´inspire pas confiance :p .
Ah oui , tous les codes sources presents dans les tutos du SDK directx 9 october update se compilent ( samples / c++ / tuto / createdevice )
mais le programme se plante en fait quand je lance le . exe . ..
comme l´avait dit Gollumtruc , je pensais pas qu´il etait aussi difficile de programmer sous windows avec directx . .. j´ai pas eu tout ces problemes pour opengl
merci beaucoup de m´aider , parceque là je sais plus quoi faire - en plus j´ai acheter un livre sur la programmation avec directx9 , alors ca serait bete qu´il me serve a rien . ..
PS : j´ai telecharge le tutoriel ici :
http://www.ultimategameprogramming.com/Tutorial.php?category=Cpp&page=1
" comme l´avait dit Gollumtruc , je pensais pas qu´il etait aussi difficile de programmer sous windows avec directx"
Ca passe mieux quand on utilise les solutions microsoft comme Visual C++ 6.0 ou . net : avec eux j´ai pas eu de problèmes.
Quand à Express 2005, je vois pas trop pourquoi il ne devrait pas inspirer confiance
Et merci pour gollumtruc de sa part ![]()
ahah la feinte c ici que je l´ai dl en fait désolé : http://www.ultimategameprogramming.com/Tutorial.php?category=DirectX&page=1
Nan , quand j´ai dit que ca m´inspirait pas confiance , je voulais dire que l´interface etait trop compliquée : quand j´ouvre un projet j´arrive meme pas a avoir le code source , je sais pas m´en servir - newbie ![]()
et j´arrive pas a compiler avec , meme pour un truc tout ballot genre :
cout>>salut en c++
g 1 failed etc . ..
Et sinon je crois qu´il faut une version differente de Directx quand on utilise VC++ 6.0 non ?
Et j´ai pas envie de payer non plus ^^ .
" et j´arrive pas a compiler avec"
Ceci dit c´est la même chose avec Devcpp en ce moment ![]()
A mon avis, s´il existe une version du sdk installable sur Express, mieux vaut utiliser Express pour programmer avec DirectX...
Je l´avais essayé pour ma part et il marchait très bien pour cout > > " salut" ( a condition de bien mettre les " ! ) : il faut choisir un projet console.
à partir de DirectX 9.0b VC++ 6 n´est plus officiellement supporté.
Quant à la beta 2005, puisque tu l´as, prend le temps de la découvrir : tu gagneras énormément en souplesse. Et puis en t´attaquant à DX, t´es pas à qq semaines pret pour te familiariser avec l´IDE, non ? ![]()
ah oué j´avais du ruser pour utiliser directX avec mon compilo ( un matinage du toolkit et du 6.0)
bin je crois que je vais aussi prendre le chose 2005 là...
Cool je viens de le désinstaller . ..
Mais bon , il y a surement un moyen de programmer avec Directx 9 et Dev cpp .
Pour la version 8 de directx , je sais qu´il existe une version " directx for dev-pp" mais je l´ai pas trouvée pour la 9 .
Enfin bon si quelqu´un a reussi . .. En attendant j´installe la beta 2005 .
merci
Ah oui d´ailleurs vous pouvez me donner l´ordre des versions de VC ?
je sais qu´il y a visual studio 6.0 , 7.0 , mais il y a aussi les versions 2003 et + . Et c quoi VC ++ ? Elles viennent après ? Et comment sa fait ´il que beaucoup l´ait alors qu´elles sont payantes ? tout le monde l´a piratée ?
VC 2002 . NET = VC 7, 2003 et 2005 ça vient donc apres, et certains les appellent 7.1 et 8, mais c´est tout à fait officieux...
pour le fait de l´avoir, personnellement je tourne toujours sur ma 2002 dont la license m´a été donnée par mon école ( bon, il est vrai que je ne suis plus vraiment étudiant maintenant...). Mais les betas sont dispos pour tout le monde, il y a des versions limitées ( en fonctionnalités, comme le toolkit 2003) entierement gratuites, les licenses memes sont abordables, meme pour le particulier, etc. Cela dit, pour ma part je considère que ce genre d´outil rapporte à son éditeur via les licenes vendues par dizaines aux professionnels. Dans le cadre d´une utilisation personnelle non lucrative ( et que donc les programmes crées ne sont pas vendus), le tout dans un but de découverte, je ne pense que ce soit etre un pirate dans l´ame que de s´autoriser une certaine largesse. D´ailleurs j´ai moi meme commencé sur une version illégale, et cela m´a été bien utile par la suite pour trouver un emploi : maitriser l´outil par un professionnel, c´est un avantage. Et maintenant on me paye pour coder sur une version bien sur tout à fait légale.
Bon ca y est j´ai reinstallé Visual c++ 2005 beta : je lance le programme :
- j´ai une fenetre appelée définition qui s´ouvre , on peut pas ecrire dessu , je la ferme .
- je crée un new project : console application win32 : la on a un programme d´exemple :
/ / PREMIER programme.cpp : Defines the entry point for the console application.
/ /
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
j´essaie de le compiler : Build > Compile ( d´ailleurs où est la fonction compiler et executer ) et oooooh surprise une erreur :
----- Build started: Project: PREMIER programme, Configuration: Debug Win32 ------
Compiling...
PREMIER programme.cpp
c:\Documents and Settings\Famille\Mes documents\Visual Studio\Projects\PREMIER programme\PREMIER programme\PREMIER programme.cpp(4) : fatal error C1083: Cannot open precompiled header file: ´Debug/PREMIER programme.pch´: No such file or directory
Build log was saved at " file://c:\Documents and Settings\Famille\Mes documents\Visual Studio\Projects\PREMIER programme\PREMIER programme\Debug\BuildLog.htm"
PREMIER programme - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Boooon j´ecris le mien alors :
using namespace std;
int main()
{
cout<<" premier programme avec visual c++ 2005 \n " ;
cout<<"je croise les doigts " ;
cin.get();
return 0;
}
je compile eeeeeet :
------ Build started: Project: PREMIER programme, Configuration: Debug Win32 ------
Compiling...
PREMIER programme.cpp
c:\Documents and Settings\Famille\Mes documents\Visual Studio\Projects\PREMIER programme\PREMIER programme\PREMIER programme.cpp(11) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Build log was saved at " file://c:\Documents and Settings\Famille\Mes documents\Visual Studio\Projects\PREMIER programme\PREMIER programme\Debug\BuildLog.htm"
PREMIER programme - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
ARGH CA MARCHE PAS ! !!!!!!!!!!!!!!!
personne veut me dire vite fait comment compiler vite fait un programme en mode console comme le mien ?
Je voudrais pas dire que j´ai réussi du premier coup avec DEV CPP ( surtout parceque c pas vrai ^^ ) mais la c abusé .
merci
Ou je suis un vieux noob aussi ce qui expliquerait les choses . ..
Pourtant j´ai verifie le header iostream est bien présent dans le repertoire include . .. pas la librairie opengl par contre ![]()
Bon deja je suis un vieux noob c t pas iostream mais stdio qu´il fallait mettre . ..
mais ca amrche toujours pas ![]()
ben suffit de lire le message du compilo... Visiblement il cherche les precompiled headers ( qui servent à accelerer la phase de compilation, si on s´y prend bien) ; il te suffit de désactiver leur utilisation dans les options de ton projet.
A noter que si tu veux faire du DirectX il te faudra un projet win32 standard, et pas console.
" VC 2002 . NET = VC 7, 2003 et 2005 ça vient donc apres, et certains les appellent 7.1 et 8, mais c´est tout à fait officieux..."
pas du tout, 7.1 et 8 sont les numéro officiel de Microsoft, que l´on peut voir par exemple dans la boite de dialoque " a propos" pour ceux qui peuvent regarder.
Sinon, je crois qu´il existe des outils pour convertir des . lib en . a et inversement, même s´il y a un sens qui marche bcp mieux que l´autre, mais je suis bien incapable de me rappeler lequel.
Bon tout ça ça mène pas loin, mais c´est pour ne pas désespérer ( l´equivalent d´un emximp sous win32 je dirait).
si mon 2002 affiche bien 7, j´ai les 2003 et 2005 afficher textuellement " 2003 . NET" et " 2005 . NET"
bah, dans tous les cas, c´est l´ordre qui importe...