Les Allergies
Alimentaires
Posez votre question Signaler

Erreur de link

Olive - Dernière réponse le 6 juin 2008 à 10:11
Bonjour,
je code une p'tite appli en MFC, jusque là, rien de fantasmgorique, je suis sous visual studio 2005, biblio statique (appli qui doit fonctionner d'elle même "n'importe où"), que dire encore...
J'essaie de lire un fichier txt selon:
CString LectureLigne ()
{
	CFile MonFichier  ((LPCTSTR)"C:\\Documents and Settings\\MonLogin\\My Documents\\Visual Studio 2005\\Projects\\Portail\\Information.txt",CFile::modeRead | CFile::typeBinary);
	CString MaChaineRetour;

	ULONGLONG MaTaille = MonFichier.GetLength();
	char *MonBuffer = new char[(int)MaTaille+1];
	UINT NbOctetLu = MonFichier.Read(MonBuffer, (int)MaTaille);
	MaChaineRetour = MonBuffer;
	MonFichier.Close();
	delete MonBuffer;
	return MaChaineRetour;
}

et dans la "zone de ma fenetre", pour l'évenement "onclick":
void CPortailDlg::OnBnClickedButtonMaj()
{
	// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
	MaComboSite.ResetContent ();
	MaComboDomaine.ResetContent ();
	CString MonTest, MonReTest;

	MonTest = CCommandPortail ::LectureLigne ();
	MonReTest = MonTest;
}

avec un point d'arret sur "MonReTest = MonTest" pour savoir si la chaine est bien renvoyée.
et à la génération, j'ai "ça":
Erreur 1 error LNK2001: symbole externe non résolu "public: static class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > __cdecl CCommandPortail::LectureLigne(void)" (?LectureLigne@CCommandPortail@@SA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ) PortailDlg.obj
et j'ai ça aussi:
Erreur 2 fatal error LNK1120: 1 externes non résolus C:\Documents and Settings\fr58601\My Documents\Visual Studio 2005\Projects\Portail\Debug\Portail.exe 1
Je me rends bien compte que c'est un problème de transformation de chaine de caractère (CStringT, wchar_t, StrTraitMFC... etc etc, ça ne trompe pas je pense) mais je ne comprend pas où se situe mon problème...
Comme je ne suis pas un programmeur chevronné et là, je nage...
Si quelqu'un avait la possibilité de m'éclairer, je lui en serait reconnaissant.
Cordialement,
Olive
Lire la suite 

Erreur de link »

3 réponses
Réponse
+0
moins plus
"Symbole externe non résolu", ce n'est pas parce qu'il manque un include quelque part ?
Ajouter un commentaire
Réponse
+0
moins plus
Merci Sri

Je coyais avoir résolu le problème grace à ça:
http://support.microsoft.com/kb/309801

où il préconise de mettre ceci dans le stdafx.h:
template class __declspec(dllimport) CStringT<TCHAR, StrTraitMFC<TCHAR, ChTraitsCRT<TCHAR> > >;
template class __declspec(dllimport) CSimpleStringT<TCHAR>;


Mais, même ça, ça ne fonctionne pas pour le moment...
Je continue à chercher...
Ajouter un commentaire
Réponse
+0
moins plus
Est-il possible d'être si bêêêêête ??

CString CCommandPortail:: LectureLigne ()


au lieu de
CString LectureLigne()


a résolu le problème... j'ai honte... Excusez moi pour le dérangement...
Ajouter un commentaire
Ce document intitulé « erreur de link » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?