Compiling "MPApp Project" with Visual Studio 2010, Error LINK2019 ...

205 views
Skip to first unread message

Amine GHALLEB

unread,
Apr 19, 2013, 1:05:54 PM4/19/13
to vrjuggler...@googlegroups.com
Hello,
When i try to build MPapp.vcproj (from the samples) , i got these errors:

1>------ Début de la régénération globale : Projet : MPApp, Configuration : Debug Win32 ------
1>La génération a démarré 19/04/2013 18:37:24.
1>_PrepareForClean:
1>  Suppression du fichier "Debug\MPApp.lastbuildstate".
1>InitializeBuildStatus:
1>  Mise à jour de l'horodatage "Debug\MPApp.unsuccessfulbuild".
1>ClCompile:
1>  main.cpp
1>  MPApp.cpp
1>  Analyse du code en cours pour C/C++...
1>  Génération de code en cours...
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall vrj::Kernel::waitForKernelStop(void)" (__imp_?waitForKernelStop@Kernel@vrj@@QAEXXZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall vrj::Kernel::setApplication(class vrj::App *)" (__imp_?setApplication@Kernel@vrj@@QAEXPAVApp@2@@Z) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: int __thiscall vrj::Kernel::start(void)" (__imp_?start@Kernel@vrj@@QAEHXZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall vrj::Kernel::loadConfigFile(char const *)" (__imp_?loadConfigFile@Kernel@vrj@@QAEXPBD@Z) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: bool __thiscall vrj::Kernel::init(int &,char * * const)" (__imp_?init@Kernel@vrj@@QAE_NAAHQAPAD@Z) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static class vrj::Kernel * __cdecl vrj::Kernel::instance(void)" (__imp_?instance@Kernel@vrj@@SAPAV12@XZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall vrj::opengl::App::~App(void)" (__imp_??1App@opengl@vrj@@UAE@XZ) référencé dans la fonction __unwindfunclet$??0MPApp@@QAE@XZ$0
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall vrj::opengl::App::App(class vrj::Kernel *)" (__imp_??0App@opengl@vrj@@QAE@PAVKernel@2@@Z) référencé dans la fonction "public: __thiscall MPApp::MPApp(void)" (??0MPApp@@QAE@XZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual bool __thiscall vrj::App::configCanHandle(class boost::shared_ptr<class jccl::ConfigElement>)" (?configCanHandle@App@vrj@@UAE_NV?$shared_ptr@VConfigElement@jccl@@@boost@@@Z)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual int __thiscall jccl::ConfigElementHandler::configProcessPending(void)" (?configProcessPending@ConfigElementHandler@jccl@@UAEHXZ)
1>main.obj : error LNK2001: symbole externe non résolu "protected: virtual bool __thiscall vrj::App::configAdd(class boost::shared_ptr<class jccl::ConfigElement>)" (?configAdd@App@vrj@@MAE_NV?$shared_ptr@VConfigElement@jccl@@@boost@@@Z)
1>main.obj : error LNK2001: symbole externe non résolu "protected: virtual bool __thiscall vrj::App::configRemove(class boost::shared_ptr<class jccl::ConfigElement>)" (?configRemove@App@vrj@@MAE_NV?$shared_ptr@VConfigElement@jccl@@@boost@@@Z)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::App::exit(void)" (?exit@App@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::App::latePreFrame(void)" (?latePreFrame@App@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::App::reset(void)" (?reset@App@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::App::focusChanged(void)" (?focusChanged@App@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual float __thiscall vrj::App::getDrawScaleFactor(void)" (?getDrawScaleFactor@App@vrj@@UAEMXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual bool __thiscall vrj::App::depSatisfied(void)" (?depSatisfied@App@vrj@@UAE_NXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual class vrj::DrawManager * __thiscall vrj::opengl::App::getDrawManager(void)" (?getDrawManager@App@opengl@vrj@@UAEPAVDrawManager@3@XZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual class vrj::SoundManager * __thiscall vrj::App::getSoundManager(void)" (?getSoundManager@App@vrj@@UAEPAVSoundManager@2@XZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::opengl::App::contextClose(void)" (?contextClose@App@opengl@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::opengl::App::contextPreDraw(void)" (?contextPreDraw@App@opengl@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::opengl::App::contextPostDraw(void)" (?contextPostDraw@App@opengl@vrj@@UAEXXZ)
1>main.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall vrj::opengl::App::pipePreDraw(void)" (?pipePreDraw@App@opengl@vrj@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall gadget::BaseDeviceInterface::init(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?init@BaseDeviceInterface@gadget@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) référencé dans la fonction "public: virtual void __thiscall MPApp::init(void)" (?init@MPApp@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: enum gadget::Digital::State __thiscall gadget::DigitalProxy::getData(void)const " (__imp_?getData@DigitalProxy@gadget@@QBE?AW4State@Digital@2@XZ) référencé dans la fonction "public: virtual void __thiscall MPApp::preFrame(void)" (?preFrame@MPApp@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall gadget::BaseDeviceInterface::~BaseDeviceInterface(void)" (__imp_??1BaseDeviceInterface@gadget@@UAE@XZ) référencé dans la fonction "public: virtual __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::~DeviceInterface<class gadget::PositionProxy>(void)" (??1?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAE@XZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static class boost::shared_ptr<class gadget::PositionProxy> __cdecl gadget::PositionProxy::create(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (__imp_?create@PositionProxy@gadget@@SA?AV?$shared_ptr@VPositionProxy@gadget@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) référencé dans la fonction "public: __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::DeviceInterface<class gadget::PositionProxy>(void)" (??0?$DeviceInterface@VPositionProxy@gadget@@@gadget@@QAE@XZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall gadget::BaseDeviceInterface::BaseDeviceInterface(void)" (__imp_??0BaseDeviceInterface@gadget@@QAE@XZ) référencé dans la fonction "public: __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::DeviceInterface<class gadget::PositionProxy>(void)" (??0?$DeviceInterface@VPositionProxy@gadget@@@gadget@@QAE@XZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vpr::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class vpr::StreamUnLock const &)" (__imp_??6vpr@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABVStreamUnLock@0@@Z) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall vpr::Debug::getStream(struct vpr::DebugCategory const &,int,bool,bool,int,bool)" (__imp_?getStream@Debug@vpr@@QAEAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@ABUDebugCategory@2@H_N1H1@Z) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class vpr::MutexWin32 & __thiscall vpr::Debug::debugLock(void)" (__imp_?debugLock@Debug@vpr@@QAEAAVMutexWin32@2@XZ) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: bool __thiscall vpr::Debug::isCategoryAllowed(struct vpr::DebugCategory const &)" (__imp_?isCategoryAllowed@Debug@vpr@@QAE_NABUDebugCategory@2@@Z) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: int __thiscall vpr::Debug::getLevel(void)const " (__imp_?getLevel@Debug@vpr@@QBEHXZ) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: bool __thiscall vpr::Debug::isDebugEnabled(void)const " (__imp_?isDebugEnabled@Debug@vpr@@QBE_NXZ) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static class vpr::Debug * __cdecl vpr::Debug::instance(void)" (__imp_?instance@Debug@vpr@@SAPAV12@XZ) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual void __thiscall gadget::BaseDeviceInterface::refresh(void)" (__imp_?refresh@BaseDeviceInterface@gadget@@UAEXXZ) référencé dans la fonction "public: virtual void __thiscall gadget::DeviceInterface<class gadget::PositionProxy>::refresh(void)" (?refresh@?$DeviceInterface@VPositionProxy@gadget@@@gadget@@UAEXXZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static class boost::shared_ptr<class gadget::DigitalProxy> __cdecl gadget::DigitalProxy::create(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (__imp_?create@DigitalProxy@gadget@@SA?AV?$shared_ptr@VDigitalProxy@gadget@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) référencé dans la fonction "public: __thiscall gadget::DeviceInterface<class gadget::DigitalProxy>::DeviceInterface<class gadget::DigitalProxy>(void)" (??0?$DeviceInterface@VDigitalProxy@gadget@@@gadget@@QAE@XZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall vpr::GUID::~GUID(void)" (__imp_??1GUID@vpr@@UAE@XZ) référencé dans la fonction "void __cdecl `dynamic initializer for 'vprDBG_ALL''(void)" (??__EvprDBG_ALL@@YAXXZ)
1>MPApp.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall vpr::GUID::~GUID(void)" (__imp_??1GUID@vpr@@UAE@XZ)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall vpr::GUID::GUID(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??0GUID@vpr@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) référencé dans la fonction "void __cdecl `dynamic initializer for 'vprDBG_ALL''(void)" (??__EvprDBG_ALL@@YAXXZ)
1>MPApp.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: __thiscall vpr::GUID::GUID(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??0GUID@vpr@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall vpr::GUID::GUID(class vpr::GUID const &)" (__imp_??0GUID@vpr@@QAE@ABV01@@Z) référencé dans la fonction "public: __thiscall vpr::DebugCategory::DebugCategory(class vpr::GUID const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0DebugCategory@vpr@@QAE@ABVGUID@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1@Z)
1>MPApp.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: __thiscall vpr::GUID::GUID(class vpr::GUID const &)" (__imp_??0GUID@vpr@@QAE@ABV01@@Z)
1>Debug\MPApp.exe : fatal error LNK1120: 41 externes non résolus
1>
1>ÉCHEC de la build.
1>
1>Temps écoulé 00:00:32.21
========== Régénération globale : 0 a réussi, 1 a échoué, 0 a été ignoré ==========

Can You help me please? Thanks

Patrick Hartling

unread,
Apr 22, 2013, 2:05:08 PM4/22/13
to vrjuggler...@googlegroups.com
On Apr 19, 2013, at 12:05 PM, Amine GHALLEB <amine....@gmail.com> wrote:

Hello,
When i try to build MPapp.vcproj (from the samples) , i got these errors:

1>------ Début de la régénération globale : Projet : MPApp, Configuration : Debug Win32 ------
1>La génération a démarré 19/04/2013 18:37:24.
1>_PrepareForClean:
1>  Suppression du fichier "Debug\MPApp.lastbuildstate".
1>InitializeBuildStatus:
1>  Mise à jour de l'horodatage "Debug\MPApp.unsuccessfulbuild".
1>ClCompile:
1>  main.cpp
1>  MPApp.cpp
1>  Analyse du code en cours pour C/C++...
1>  Génération de code en cours...
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall vrj::Kernel::waitForKernelStop(void)" (__imp_?waitForKernelStop@Kernel@vrj@@QAEXXZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall vrj::Kernel::setApplication(class vrj::App *)" (__imp_?setApplication@Kernel@vrj@@QAEXPAVApp@2@@Z) référencé dans la fonction _main

[snip]

Can You help me please? Thanks

What version of Visual Studio are you using? Was that version used to build the VR Juggler version against which you are compiling and linking? Different versions of Visual C++ do not generally produce binary compatible libraries from C++, and it is important that the same version is used for your application and for every C++ library that you need.

 -Patrick


--
Patrick L. Hartling
iOS Library Developer, Banno
http://www.banno.com/

Amine GHALLEB

unread,
Apr 22, 2013, 3:30:57 PM4/22/13
to vrjuggler...@googlegroups.com
Hello,
as i mentioned ,  i use visual studio 2010
so what shall i do?
how can i deal with C++ library?

Patrick Hartling

unread,
Apr 23, 2013, 11:00:30 AM4/23/13
to vrjuggler...@googlegroups.com
If you have VR Juggler and its dependencies compiled using Visual Studio 2010, then something else is causing the problem. You should verify that VJ_BASE_DIR and VJ_DEPS_DIR are pointing to the correct location. The issue does not appear to be that libraries are not being found. Rather, it seems that they are found but the symbols that are required are not being exported correctly. You could also use a tool like Dependency Walker to verify that the DLLs have the symbols being exported.

 -Patrick

--
 
---
You received this message because you are subscribed to the Google Groups "vrjuggler-questions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vrjuggler-quest...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Amine GHALLEB

unread,
Apr 26, 2013, 8:23:58 PM4/26/13
to vrjuggler...@googlegroups.com
Hello,
Thanks for the answer
I didn't find any solution and i am blocked
have you any other suggestions?
Help please
 -Patrick

To unsubscribe from this group and stop receiving emails from it, send an email to vrjuggler-questions+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Patrick Hartling

unread,
Apr 29, 2013, 6:31:27 PM4/29/13
to vrjuggler...@googlegroups.com
There should be a log file that contains the full set of commands executed to compile and link the code. If you can find it and post it here (or a link to it in Dropbox or similar), that may hold a clue.

 -Patrick

To unsubscribe from this group and stop receiving emails from it, send an email to vrjuggler-quest...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Amine GHALLEB

unread,
Apr 30, 2013, 6:34:45 PM4/30/13
to vrjuggler...@googlegroups.com
Hello,
Here there is the log file
thx for your help
MPApp.log

Patrick Hartling

unread,
May 5, 2013, 5:51:00 PM5/5/13
to vrjuggler...@googlegroups.com
Does the directory E:\VRJuggler-3.0.1-1\VRJuggler-3.0.1-1\lib contain the VR Juggler .lib files (vrj-3_0_1.lib and so on)?

 -Patrick

To unsubscribe from this group and stop receiving emails from it, send an email to vrjuggler-quest...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 
<MPApp.log>

Amine GHALLEB

unread,
May 5, 2013, 6:31:46 PM5/5/13
to vrjuggler...@googlegroups.com
yes there is that lib file
<MPApp.log>

Patrick Hartling

unread,
May 6, 2013, 3:48:18 PM5/6/13
to vrjuggler...@googlegroups.com
It still seems to me as though this is an issue of the DLLs having been compiled with some version of Visual C++ other than 2010. The only idea I have is to use Dependency Walker to examine the DLLs to determine whether the unresolved symbols from the linker error messages are present in the DLLs. In that case, the only explanation that I know is that the DLLs were built with a version of Visual C++ that does not match the one you are using.

 -Patrick

To unsubscribe from this group and stop receiving emails from it, send an email to vrjuggler-quest...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages