Linker error avec API PathRenameExtension sous c++builder 6

Signaler
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Bonjour,



Quand je veux utiliser l'API PathRenameExtension qui permet de changer l'extension d'un fichier j'obtiens l'erreur suivante :



[Linker Error] Unresolved external 'PathRenameExtensionA' referenced from

C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\TEST\UNIT1.OBJ



l'appel à la fonction dans mon code est le suivant :

PathRenameExtension("C:\\Fichier.txt", ".html");



J'ai pourtant rajouté le header adéquate par la commande #include <shlwapi.h> au dessus de mon code dans Unit1.cpp.

Si vous avez des idées n'hésitez pas, merci .

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
shlwapi.lib
c'est mis pour le linker ???

Regarde que si tu donnes une contante chaine en 1er param, va y avoir un grave malaise.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

lol, ouai je sais pour la constante c'est n'importe quoi mais ça résoud
pas le problème du linker. Je débute sur c++builder alors je sais pas
la librairie shlwapi.lib faut l'importer ? comment on fait ?



AnsiString strFilePath = "C:\\Fichier.txt";

PathRenameExtension(strFilePath.c_str(), ".html");



la c'est mieux ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Aucune idée, je prog sans surcouche type builderie ni autre machin inutile, alors...

char szfname[264];
strcpy(szfname, "C:\\fichier.txt");
PathRenameExtension(szfname, ".html);
là oui je sais que ça irait.

Ceci dit, tu pourrais tout aussi bien écrire cela toi-même, ces fonctions shell ne sont vraiment là que pour les handicapés du pointeur.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Je crois qu'il faut utiliser la commande

#pragma comment(lib, "shlwapi.lib")



J'obtiens alors l'erreur suivante :

[Linker Fatal Error] Fatal: Unable to open file 'SHLWAPI.LIB'
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Ok merci quand même BruNews.