Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 3


|
Conversation (Résolue) : Configuration id3lib-3.8.3 |
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
J'ai installé les sources id3lib dans D:\CPP\id3lib\id3lib-3.8.3 et les lib binaries dans D:\CPP\id3lib\id3lib-3.8.3binaries\Release.
Dans le code j'ajoute : #include "id3/tag." comme indiqué http:/id3lib.sourceforge.net/api/index.html.
Dans search directory de CB je mets le chemin des sources et les includes sont bien trouvés.
Mais j'ai le build log suivant :
Code: -------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -Wno-attributes -Wall -O2 -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\wxBook\wxWidgets-2.9.5\contrib\include -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\id3lib\id3lib-3.8.3\include -c D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp -o obj\Release\p_09_12_16_45Main.o In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:31:0, from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:49: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:56:6: error: #error read message above or win32.readme.first.txt D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:49:56: note: #pragma message: *** NOTICE *** (not a real error) D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:50:107: note: #pragma message: * You should include a define in your project which reflect how you link the library D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:51:100: note: #pragma message: * If you use id3lib.lib or libprj/id3lib.dsp (you link static) you should add D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:52:94: note: #pragma message: * ID3LIB_LINKOPTION=1 to your preprocessor definitions of your project. D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:53:100: note: #pragma message: * If you use id3lib.dll (you link dynamic) you should add ID3LIB_LINKOPTION=3 D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:54:74: note: #pragma message: * to your preprocessor definitions of your project. D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:55:26: note: #pragma message: *** In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32:0, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:49: D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:38:22: error: variable 'ID3_CPP_EXPORT ID3_Frame' has initializer but incomplete type D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:38:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:40:16: error: expected primary-expression before '*' token D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:40:18: error: '_impl' was not declared in this scope D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:40:23: error: expected '}' before ';' token D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:41:1: error: expected unqualified-id before 'public' D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:55:1: error: expected unqualified-id before 'public' D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:57:19: error: 'ID3_Frame' does not name a type D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:57:28: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:57:30: error: expected constructor, destructor, or type conversion before ';' token D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:59:21: error: expected class-name before '(' token D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:64:23: error: non-member function 'ID3_FrameID GetID()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:66:42: error: non-member function 'ID3_Field* GetField(ID3_FieldID)' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:68:27: error: non-member function 'size_t NumFields()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:70:32: error: non-member function 'const char* GetDescription()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:73:27: error: non-member function 'const char* GetTextID()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:75:3: error: 'ID3_Frame' does not name a type D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:76:28: error: non-member function 'bool HasChanged()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:78:35: error: non-member function 'void Render(ID3_Writer&)' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:80:41: error: non-member function 'bool Contains(ID3_FieldID)' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:82:25: error: non-member function 'ID3_V2Spec GetSpec()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:85:32: error: non-member function 'bool GetCompression()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:86:29: error: non-member function 'size_t GetDataSize()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:89:33: error: non-member function 'uchar GetEncryptionID()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:92:31: error: non-member function 'uchar GetGroupingID()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:94:3: error: 'Iterator' does not name a type D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:95:35: error: non-member function 'ConstIterator* CreateIterator()' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:98:39: error: non-member function 'ID3_Field& Field(ID3_FieldID)' cannot have cv-qualifier D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:100:1: error: expected declaration before '}' token In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:31:0, from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:49: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:542:20: warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable] In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32:0, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:49: D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:71:22: warning: 'const char* GetDescription(ID3_FrameID)' declared 'static' but never defined [-Wunused-function] Process terminated with status 1 (0 minutes, 2 seconds) 29 errors, 3 warnings (0 minutes, 2 seconds)
Dans le code j'ai mis
Code: #define ID3LIB_LINKOPTION Dans linker settings j'ai ajouté la lib D:\CPP\id3lib\id3lib-3.8.3binaries\Release\id3lib.lib Le readme win32 ne m'aide pas trop, c'est pour vc.
Quelqu'un a-t-il déjà installé id3lib ?
Ou est-ce hors forum ? ---------- En fait il faut mettre au début dans cet ordre :
Code: #define ID3LIB_LINKOPTION 1 #include "id3/tag.h" et tout compile sans problème.
reste à tester l'accès aux tags...
Dernière modification par Ded (13-09-2013 17:53:59)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Tu as plus de chances que moi : j'étaias en train d'essayer, et chez moi, ça ne marche pas.
La différence avec toi (je crois) c'est que dans une fonction, j'ai ajouté la création d'un objet de type "ID3_Tag"
Code Cpp: Et j'obtiens à chaque essai de compilation le résultat suivant :
Code:id3Lib\include\id3\globals.h|542|warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable]| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `ID3_Tag::ID3_Tag(char const*)'| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `ID3_Tag::~ID3_Tag()'| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `ID3_Tag::~ID3_Tag()'| ||=== Build failed: 3 error(s), 1 warning(s) (0 minute(s), 4 second(s)) ===|
J'ai également essayé en linkant directement la dll, et en mettant #define ID3LIB_LINKOPTION 3 , mais ça fait pareil :
Code:id3Lib\include\id3\globals.h|542|warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable]| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `_imp___ZN7ID3_TagC1EPKc'| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `_imp___ZN7ID3_TagD1Ev'| build\Release32M\mainframe.o:mainframe.cpp|| undefined reference to `_imp___ZN7ID3_TagD1Ev'| ||=== Build failed: 3 error(s), 1 warning(s) (0 minute(s), 4 second(s)) ===|
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Non j'ai le même problème que toi. Je n'arrive pas à linker la lib binary fournie sur http:/sourceforge.net/projects/id3lib/
Avec :
Code: ID3_Tag myTag; myTag.Link(wxString::Format("%s\\%s",SrcDir_path,FileName)); ID3_Frame* myFrame = myTag.Find(ID3FID_LEADARTIST); if (NULL == myFrame) { // do something with myFrame // ID3_Frame* ID3_AddArtist(ID3_Tag *tag, const char *text, bool replace) ID3_AddTitle (&myTag, "nouvel artist", true); } myTag.Update(); J'obtiens :
Code: -------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -LD:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib -o bin\Release\p-09-12-16-45.exe obj\Release\p_09_12_16_45Main.o -s -mthreads -lwxmsw29u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 D:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\libwxregexu.a D:\CPP\id3lib\id3lib-3.8.3binaries\Release\id3lib.lib -mwindows obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x30cf): undefined reference to `ID3_Tag::ID3_Tag(char const*)' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x31a3): undefined reference to `ID3_Tag::Link(char const*, unsigned short)' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x32b1): undefined reference to `ID3_Tag::Find(ID3_FrameID) const' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x32d5): undefined reference to `ID3_Tag::Update(unsigned short)' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x3620): undefined reference to `ID3_Tag::~ID3_Tag()' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x3953): undefined reference to `ID3_AddTitle(ID3_Tag*, char const*, bool)' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x39f7): undefined reference to `ID3_Tag::~ID3_Tag()' collect2.exe: error: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 7 errors, 0 warnings (0 minutes, 1 seconds) J'ai essayé de recompiler les lib avec mysys. Le ./configure se passe à peu près bien (suivre http:/wiki.awkwardtv.org/wiki/Install_ID3V2). Mais le make me donne : ID3LIB_LINKOPTION doit être défini. Dans le fichier projet, il dit. Mais quel fichier, je ne sais pas.
Ennuyeux... ---------- Le make donne des erreurs pour certains fichier cpp et il faut insérer "#define ID3LIB_LINKOPTION 1" avant les autres define et include.
Mais linker avec cette nouvelle librarie libz.a donne les mêmes erreurs.
Dernière modification par Ded (13-09-2013 22:46:28)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
J'ai tenté avec msys, mais même en suivant les indications de la page dont tu donnes le lien, y'a rien à faire, ça ne veut pas passer. J'obtiens toujours l'erreur au "configure" :
Code:............ checking string presence... yes checking for string... yes checking whether C++ has bool... yes checking whether C++ has correct scoping in for-loops... no checking what warning flags to pass to the C++ compiler... -Wall -Wno-unused -Wno-inline -Woverloaded-virtual -Wmissing-declarations checking what language compliance flags to pass to the C++ compiler... checking for getopt_long... yes checking for mkstemp... no checking for truncate... no configure: error: Missing a vital function for id3lib
Tu es arrivé plus loin, toi ?
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Oui, il faut editer le ./configure et enlever les deux section correspondant à mkstemp et truncate. Après va commencer le calvaire des mises à jour des cpp.
A+
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Ded:Après va commencer le calvaire des mises à jour des cpp. Pour quoi faire ? Ajouter #define ID3LIB_LINKOPTION 1 chaque fois qu'il en a besoin ?
Il y a beaucoup plus simple : tu le places au début du fichier "include/id3/globals.h" puisque c'est dans ce fichier qu'il fait la vérification.
A priori, ça a l'air d'avoir marché.
Je vais maintenant tester la création de la dll avec #define ID3LIB_LINKOPTION 2
Je te tiens au courant... ---------- Bon, ben pour la dll, il ne veut rien savoir.
Par contre, bonne nouvelle : j'ai réussi à compiler un projet de test wxWidgets utilisant la lib statique créée avec msys.
Voici donc la méthode à suivre : - Tu lances msys, et tu te places dans le dossier de base (celui dans lequel il y a le script configure) - Tu crées un nouveau dossier pour la compilation, et tu te places dedans ( mkdir build && cd build ) - Au passage, tu modifies le fichier "include/id3/globals.h" et tu ajoutes #define ID3LIB_LINKOPTION 1 juste avant la ligne #ifdef WIN32 - Tu lances le script de configuration depuis le dossier de build : ../configure - Après un bon moment, tu peux lancer la compilation : make Si tout se passe bien, le fichier "lib" se trouve dans le sous dossier build/src/.libs/libid3.a
En linkant l'exécutable avec cette dll, ça a l'air de marcher. En tout cas, la compilation arrive jusqu'au bout.
Bonne chance (et bonne nuit ). Xav'
Dernière modification par Xaviou (14-09-2013 01:13:44)
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Cette fois c'est toi qui as plus de chance. J'ai fais comme tu as dit.
Avec le code :
Code: J'obtiens :
Code: -------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -LD:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib -o bin\Release\p-09-12-16-45.exe obj\Release\p_09_12_16_45Main.o -s -mthreads -lwxmsw29u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 D:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\libwxregexu.a D:\CPP\id3lib\id3lib-3.8.3\build\src\.libs\libid3.a -mwindows D:\CPP\id3lib\id3lib-3.8.3\build\src\.libs\libid3.a(io_decorators.o): In function `ZN4dami2io16CompressedReaderC2ER10ID3_Readerj': d:\CPP\id3lib\id3lib-3.8.3\build\src/../../src/io_decorators.cpp:209: undefined reference to `uncompress' collect2.exe: error: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 1 errors, 0 warnings (0 minutes, 1 seconds) Tu as une idée ?
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Alors là , tu vas voir, c'est super vicieux.
"uncompress" est (à mon avis) une fonction de zlib, utilisée par libid3 et compilée en même temps que cette dernière.
Mais il n'est pas nécessaire de la rajouter aux options du link car wxWidgets l'utilise, via wxZLib.
On peut donc dire que "libid3.a" dépend de "libwxzlib.a". Or, dans ta ligne de commande, on voit qu'elle apparaît après, et il faut savoir que l'ordre des libs a une importance avec MinGW.
Si tu remonte "libid3.a" dans la liste des options du linker, pour la placer juste avant "libwxzlib", ça devrait compiler.
Par contre, j'ai essayé avec ton code :
Code Cpp:ID3_Tag myTag; myTag.Link(wxString::Format("%s\\%s",SrcDir_path,FileName)); ID3_Frame* myFrame = myTag.Find(ID3FID_LEADARTIST); if (NULL == myFrame) { // do something with myFrame // ID3_Frame* ID3_AddArtist(ID3_Tag *tag, const char *text, bool replace) ID3_AddTitle (&myTag, "nouvel artist", true); } myTag.Update(); Ça ne compile pas : j'ai une erreur avec "ID3_AddTitle".
Mais si je commente cette ligne, ça compile.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
J'ai pas du faire la bonne manip. J'obtiens toujours :
Code: -------------- Clean: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- Cleaned "p-09-12-16-45 - Release" -------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -Wall -pipe -mthreads -Wno-attributes -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -O2 -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\wxBook\wxWidgets-2.9.5\contrib\include -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\id3lib\id3lib-3.8.3\include -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxMusique\wxMusique\Sources -ID:\CPP\taglib-1.8\taglib-1.8 -ID:\CPP\taglib-1.8\taglib-1.8\taglib\toolkit -ID:\CPP\taglib-1.8\taglib-1.8\taglib -ID:\CPP\irrKlang-1.4.0b\irrKlang-1.4.0\include -c D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp -o obj\Release\p_09_12_16_45Main.o D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp: In member function 'void MyFrame::OnGo(wxCommandEvent&)': D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:249:44: warning: suggest parentheses around assignment used as truth value [-Wparentheses] In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:31:0, from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:50: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h: At global scope: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:542:20: warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable] mingw32-g++.exe -LD:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib -o bin\Release\p-09-12-16-45.exe obj\Release\p_09_12_16_45Main.o -s -mthreads -lwxmsw29u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 D:\CPP\id3lib\id3lib-3.8.3\build\src\.libs\libid3.a D:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\libwxregexu.a -mwindows D:\CPP\id3lib\id3lib-3.8.3\build\src\.libs\libid3.a(io_decorators.o): In function `ZN4dami2io16CompressedReaderC2ER10ID3_Readerj': d:\CPP\id3lib\id3lib-3.8.3\build\src/../../src/io_decorators.cpp:209: undefined reference to `uncompress' collect2.exe: error: ld returned 1 exit status Process terminated with status 1 (0 minutes, 5 seconds) 1 errors, 2 warnings (0 minutes, 5 seconds)
Où exactement dois-je modifier ?
Dernière modification par Ded (14-09-2013 13:23:47)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Effectivement, la lib "id3" est toujours après "wxzlib".
Dans le menu "Project", "Build options", tu sélectionnes l'onglet "Linker settings", et dans la liste des libs, tu "actives" l'entrée "D:\CPP\id3lib\id3lib-3.8.3\build\src\.libs\libid3.a", et à droite de cette liste, il y a deux boutons "flèches haut et bas". Tu cliques sur celui du haut jusqu'à ce que la lib remonte au dessus de "wxzlib".
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Bon j'ai fais comme tu dis, mais je retombe sur :
Code: -------------- Clean: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- Cleaned "p-09-12-16-45 - Release" -------------- Build: Release in p-09-12-16-45 (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -Wall -pipe -mthreads -Wno-attributes -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -O2 -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\mswu -ID:\CPP\wxBook\wxWidgets-2.9.5\include -ID:\CPP\id3lib\id3lib-3.8.3\include -ID:\CPP\id3lib\id3lib-3.8.3binaries\Release -ID:\CPP\wxMusique\wxMusique\Sources -ID:\CPP\taglib-1.8\taglib-1.8 -ID:\CPP\taglib-1.8\taglib-1.8\taglib\toolkit -ID:\CPP\taglib-1.8\taglib-1.8\taglib -ID:\CPP\irrKlang-1.4.0b\irrKlang-1.4.0\include -c D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp -o obj\Release\p_09_12_16_45Main.o D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp: In member function 'void MyFrame::OnGo(wxCommandEvent&)': D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:249:44: warning: suggest parentheses around assignment used as truth value [-Wparentheses] In file included from D:\CPP\id3lib\id3lib-3.8.3\include/id3/id3lib_frame.h:31:0, from D:\CPP\id3lib\id3lib-3.8.3\include/id3/tag.h:32, from D:\wxWidgetsApp\p-09-12-16-45\p_09_12_16_45Main.cpp:50: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h: At global scope: D:\CPP\id3lib\id3lib-3.8.3\include/id3/globals.h:542:20: warning: 'ID3_v1_genre_description' defined but not used [-Wunused-variable] mingw32-g++.exe -LD:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib -o bin\Release\p-09-12-16-45.exe obj\Release\p_09_12_16_45Main.o -s -mthreads -lwxmsw29u -lwxpng -lwxjpeg -lwxtiff D:\CPP\id3lib\id3lib-3.8.3\build\zlib\src\.libs\libz.a -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 D:\CPP\wxBook\wxWidgets-2.9.5\lib\gcc_lib\libwxregexu.a -mwindows obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x3120): undefined reference to `ID3_Tag::ID3_Tag(char const*)' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x348e): undefined reference to `ID3_Tag::~ID3_Tag()' obj\Release\p_09_12_16_45Main.o:p_09_12_16_45Main.cpp:(.text+0x3759): undefined reference to `ID3_Tag::~ID3_Tag()' collect2.exe: error: ld returned 1 exit status Process terminated with status 1 (0 minutes, 5 seconds) 3 errors, 2 warnings (0 minutes, 5 seconds) Tu vois encore une erreur dans la ligne de compile ?
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Ded:Tu vois encore une erreur dans la ligne de compile ? Oui, et une belle 
Tu t'es planté de lib : tu linkes avec "libz.a" au lieu de "libid3.a". C'est donc normal qu'il y ait des "undefine reference to ID3_Tag".
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Quelle erreur, pour dire si je comprends ce que je fais !!
Avec ce changement crucial, je peux éditer le tag Titre sans problème d'un fichier ou d'un fileset (comme dans mon programme).
Je vais tester là suite...
Dernière modification par Ded (14-09-2013 16:38:16)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
|