Membres inscrits :668
Membres en ligne : 0
Invités en ligne : 8


|
| Conversation : VC90 link wxDev DLL monolithique unicode |
Gandi (Gourou de la secte)
Lieu: Clermont Ferrand
Inscrit le : 10-10-2007
Messages: 205
Snippets: 4
Tutoriels: 0
Hors ligne |
Marche pas. WOUINNNNN. ( Mais ça marche au poil avec les libs pour mingw )
...

Sinon plus sérieusement, j'ai généré les wx2810 à partir de l'installateur wxWidgets de wxDev. J'essaie de compiler avec VC90 sous Visual et CB. Pour CB j'ai utilisé le wizard du template de wxWidget. Impossible de lui faire trouver les DLL wxmsw28u_vc_wxDev.fr.dll et wxmsw28ud_vc_wxDev.fr.dll. Que je les enlève/renomme/déplace (dans le répertoir des lib, à coté de l'exe, à coté du project ) / que je veille au Working Dir / que j'ajoute le chemin de recherche "$(LIB)/wx2810/bin" pour les liens. Rien n'y fait il veux pas trouver les DLL. Je sèche là.
VC90 Error List a écrit:App.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual bool __thiscall wxApp::Initialize(int &,wchar_t * *)" (__imp_?Initialize@wxApp@@UAE_NAAHPAPA_W@Z) App.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) class wxString __cdecl operator+(wchar_t const *,class wxString const &)" (__imp_??H@YA?AVwxString@@PB_WABV0@@Z) App.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall wxString::wxString(wchar_t const *)" (__imp_??0wxString@@QAE@PB_W@Z) Frame.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall wxClassInfo::wxClassInfo(wchar_t const *,class wxClassInfo const *,class wxClassInfo const *,int,class wxObject * (__cdecl*)(void))" (__imp_??0wxClassInfo@@QAE@PB_WPBV0@1HP6APAVwxObject@@XZ@Z) #define / Preprocessor Definitions a écrit:WIN32 __WIN32__ __WXMSW__ WXUSINGDLL wxUSE_UNICODE _WINDOWS _CRT_SECURE_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE _VC80_UPGRADE=0x0600 WX_PRECOMP Link libraries / Additional dependencies a écrit:En Release : wxmsw28u.lib En Debug : // #define __WXDEBUG__ : OK wxmsw28ud.lib ---------- Grrr je vois toujours pas le problème. Surement un truc idiot que j'ai oublié tsss. Voici le projet Codeblocks avec le compilateur VC90. ( le projet à été généré par Codeblocks ).
Code:<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <CodeBlocks_project_file> <FileVersion major="1" minor="6" /> <Project> <Option title="test5" /> <Option pch_mode="2" /> <Option compiler="msvc8" /> <Build> <Target title="Debug_VC90"> <Option output="..\test5" prefix_auto="1" extension_auto="1" /> <Option working_dir=".\..\" /> <Option object_output="obj\Debug\" /> <Option type="0" /> <Option compiler="msvc8" /> <Option projectLinkerOptionsRelation="2" /> <Compiler> <Add option="/MDd" /> <Add option="/Zi" /> <Add option='/Fp"obj\Debug\test5.pch"' /> <Add option="/D_DEBUG" /> <Add option="/D__WXDEBUG__" /> <Add directory="F:\wx2810\lib\vc_dll\mswud" /> </Compiler> <ResourceCompiler> <Add directory="F:\wx2810\lib\vc_dll\mswud" /> </ResourceCompiler> <Linker> <Add option="/DEBUG" /> <Add option="/NODEFAULTLIB:libcmtd.lib" /> <Add option="/NODEFAULTLIB:msvcrt.lib" /> <Add library="msvcrtd.lib" /> <Add library="wxmsw28ud.lib" /> <Add directory="F:\wx2810\lib\vc_dll" /> <Add directory="F:\wx2810\bin" /> </Linker> <ExtraCommands> <Add after='mt.exe /nologo /manifest "..\test5.exe.manifest" /outputresource:"..\test5.exe";1' /> </ExtraCommands> </Target> <Target title="Release_VC90"> <Option output="..\test5" prefix_auto="1" extension_auto="1" /> <Option working_dir=".\..\" /> <Option object_output="obj\Release\" /> <Option type="0" /> <Option compiler="msvc8" /> <Option projectLinkerOptionsRelation="2" /> <Compiler> <Add option="/MD" /> <Add option="/O2" /> <Add option="/Ox" /> <Add option="/Zc:wchar_t" /> <Add option='/Fp"obj\Release\test5.pch"' /> <Add option="/Ob1" /> <Add option="/DNDEBUG" /> <Add directory="F:\wx2810\lib\vc_dll\mswu" /> </Compiler> <ResourceCompiler> <Add directory="F:\wx2810\lib\vc_dll\mswu" /> </ResourceCompiler> <Linker> <Add option="/NODEFAULTLIB:libcmt.lib" /> <Add library="msvcrt.lib" /> <Add library="wxmsw28u.lib" /> <Add directory="F:\wx2810\lib\vc_dll" /> <Add directory="F:\wx2810\bin" /> </Linker> <ExtraCommands> <Add after='mt.exe /nologo /manifest "..\test5.exe.manifest" /outputresource:"..\test5.exe";1' /> </ExtraCommands> </Target> </Build> <VirtualTargets> <Add alias="All" targets="Debug_VC90;Release_VC90;" /> </VirtualTargets> <Compiler> <Add option="/TP" /> <Add option="/Gd" /> <Add option="/GF" /> <Add option="/W3" /> <Add option="/EHsc" /> <Add option='/FI"wx_pch.h"' /> <Add option='/Yc"wx_pch.h"' /> <Add option="/DWIN32" /> <Add option="/D__WIN32__" /> <Add option="/D__WXMSW__" /> <Add option="/DWXUSINGDLL" /> <Add option="/DwxUSE_UNICODE" /> <Add option="/D_WINDOWS" /> <Add option="/D_CRT_SECURE_DEPRECATE" /> <Add option="/D_CRT_NONSTDC_NO_DEPRECATE" /> <Add option="/D_VC80_UPGRADE=0x0600" /> <Add option="/DWX_PRECOMP" /> <Add directory="F:\wx2810\include" /> <Add directory="F:\wx2810\contrib\include" /> </Compiler> <ResourceCompiler> <Add directory="F:\wx2810\include" /> </ResourceCompiler> <Linker> <Add option="/INCREMENTAL:NO" /> <Add option="/SUBSYSTEM:WINDOWS" /> <Add library="winmm.lib" /> <Add library="rpcrt4.lib" /> </Linker> <Unit filename="resource.rc"> <Option compilerVar="WINDRES" /> </Unit> <Unit filename="test5App.cpp" /> <Unit filename="test5App.h" /> <Unit filename="test5Main.cpp" /> <Unit filename="test5Main.h" /> <Unit filename="wx_pch.h" /> <Extensions> <code_completion /> <envvars /> <debugger /> </Extensions> </Project> </CodeBlocks_project_file> ---------- Quelques petit liens : ( Je suis asse curieux de voir comment il fait pour faire le lien entre une lib et une DLL portant chacune un nom différents. ) http://msdn.microsoft.com/fr-fr/library/ms235342.aspx http://msdn.microsoft.com/fr-fr/library/ms235542.aspx
"Les en-têtes de bibliothèques Visual C++ contiennent des informations sur les assemblys et, lorsque les bibliothèques sont incluses dans le code d'application, ces informations sont utilisées par l'éditeur de liens pour former un manifeste pour le fichier binaire final" ---------- Tien j'ai fait un test et j'ai le même problème avec les multi-librairies statiques unicodes. ---------- http://www.wxdev.fr/topic439-Erreur_lin … ring_.html
Résolu pour Visual 2008 avec VC90 cela faut mettre l'option /Zc:wxchar_t
Non résolu pour C::B avec VC90, l'option /Zc:wxchar_t ne change rien
Dernière modification par Gandi (11-03-2010 15:18:59)
|
Je voix des pixels.... des pixels partout ... sur les murs,... et même sur le sol et le plafond.
|
|