Utiliser CFile... Problème de bibliothèques
Bonjour,
J'ai quelques notions de C++, mais uniquement sous Unix ou Linux. J'ai besoin de réaliser un tout petit programme en Visual C++ 6 qui vient lire un fichier sans ouvrir de fenêtre DOS.
J'ai donc créé un projet application win32. J'ai pensé utiliser la classe CFile pour accéder à mon fichier.
D'après ce que j'ai lu sur le forum, j'ai ajouté les inlcudes suivant dans mon stdafx.h pour pouvoir utiliser cette classe.
Code:
1 2
| #include <afx.h>
#include <afxwin.h> |
et commenté
Code:
//#include de windows.h
J'ai aussi linké dans les options les librairies LIBCMT.LIB et MSVCRT.LIB, ce qui a palié aux premières erreurs.
Maintenant, au moment de build le tout en mode Release, j'obtiens les erreurs suivantes, ce qui me semble provenir d'incompatibilités des librairies.
Code:
1 2 3 4 5 6 7 8 9 10 11
| Compiling...
test4.cpp
Linking...
nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in libcp.lib(delop.obj)
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libc.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Release/test4.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
test4.exe - 5 error(s), 0 warning(s) |
Quelqu'un pourrait-il m'éclairer ? C'est quand même fou les problèmes que je rencontre pour un petit programme de rien du tout... même pour une première utilisation de Visual :(
Merci d'avance !
Re: Utiliser CFile... Problème de bibliothèques
Citation:
Envoyé par GregouzeLaLoose
J'ai besoin de réaliser un tout petit programme en Visual C++ 6 qui vient lire un fichier sans ouvrir de fenêtre DOS.
J'ai donc créé un projet application win32. J'ai pensé utiliser la classe CFile pour accéder à mon fichier.
Pourquoi ne pas créer un projet MFC (donc avec interface), si tu veux utiliser des classes MFC (CFile) ? Là tu n'auras plus de problèmes.
Re: Utiliser CFile... Problème de bibliothèques
Citation:
Envoyé par bigboomshakala
Pourquoi ne pas créer un projet MFC (donc avec interface), si tu veux utiliser des classes MFC (CFile) ? Là tu n'auras plus de problèmes.
Ben justement, je ne veux pas de fenêtre ou d'interface, je veux juste un éxécutable qui se lance tout seul, sans fenêtre DOS ou autre.
Du coup c'est peut-être une erreur d'utiliser des CFile ? Je cherchais une classe qui me permette d'interagir facilement avec des fichiers.
J'ai une version de mon programme qui tourne parfaitement mais en mode "Source C++", et qui donc ouvre une fenêtre DOS pour ne rien dire au moment de l'éxécution. Dans cette version, j'utilise la classe ifstream, classe que je n'ai pas réussi à utiliser en mode "application win32" (il ne reconnaît pas le mot ifstream).
Comme vous le voyez, je patauge un peu avec Visual :(
A la limite, je serai preneur d'une solution qui me permette d'utiliser la version fonctionnelle de mon programme mais sans la fenêtre DOS qui s'ouvre.
Re: Utiliser CFile... Problème de bibliothèques
http://c.developpez.com/faq/vc/?page...s#HideWin32App
et il n'y a pas de raison que ifstream ne soit pas reconnu si tu inclus le bon en-tête et que précise le namespace
Code:
1 2 3
| include <fstream>
...
std::ifstream file; |