[Ace-users] Re: [ace-bugs] Unresolved symbols when linking to Windows application

Johnny Willemsen jwillemsen at remedy.nl
Tue Jun 19 12:41:48 CDT 2007


Hi,

This seems a mismatch between the wchar_t setting when you build ACE and
when you build your app, make sure that in your own project wchar_t is a
native datatype 

Regards,

Johnny Willemsen
Remedy IT
Postbus 101
2650 AC  Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl  

*** Integrated compile and test statistics see http://remedy.nl ***
*** Commercial service and support for ACE/TAO/CIAO             ***
*** See http://www.theaceorb.nl/en/support.html                 *** 

> -----Original Message-----
> From: ace-bugs-bounces at cse.wustl.edu 
> [mailto:ace-bugs-bounces at cse.wustl.edu] On Behalf Of Stew Paddaso
> Sent: Tuesday, June 19, 2007 6:49 PM
> To: ace-bugs at cs.wustl.edu
> Subject: [ace-bugs] Unresolved symbols when linking to 
> Windows application
> 
> ACE VERSION:
>      5.5.1
> 
> HOST MACHINE AND OPERATING SYSTEM:
>      Intel Pentium 4
>      Windows Vista
>      VS2005 (VS8)
> 
> "config.h" FILE:
>      #include "ace/config-win32.h"
> 
> AREAS AFFECTED:
>      My application only
> 
> SYNOPSIS:
>      I get several "unresolved external symbol" errors when linking my
> application to ACE.
> 
> DESCRIPTION:
>      - Built ACE using the provided VS8 solution.
>      - Created application that uses ACE in seperate VS8 solution.
>           - Added additional include directory that points to 
> $ACE_ROOT/ace
>           - Added additional library search path that points to
> location of ACE.lib and ACE.dll
>           - Added dependency to ACE.lib
>      - The linker correctly locates ACE.lib and resolves some of the
> symbols, except the following 5:
> 
> 1>main.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: __thiscall
> ACE_Thread_Mutex::ACE_Thread_Mutex(wchar_t const *,struct
> ACE_mutexattr_t *)"
> (__imp_??0ACE_Thread_Mutex@@QAE at PB_WPAUACE_mutexattr_t@@@Z) referenced
> in function "public: __thiscall ThreadArgs::ThreadArgs(int)"
> (??0ThreadArgs@@QAE at H@Z)
> 1>thread.obj : error LNK2001: unresolved external symbol
> "__declspec(dllimport) public: __thiscall
> ACE_Thread_Mutex::ACE_Thread_Mutex(wchar_t const *,struct
> ACE_mutexattr_t *)"
> (__imp_??0ACE_Thread_Mutex@@QAE at PB_WPAUACE_mutexattr_t@@@Z)
> 1>main.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: __thiscall
> ACE_Thread_Barrier::ACE_Thread_Barrier(unsigned int,wchar_t const *)"
> (__imp_??0ACE_Thread_Barrier@@QAE at IPB_W@Z) referenced in function
> "public: __thiscall ThreadArgs::ThreadArgs(int)"
> (??0ThreadArgs@@QAE at H@Z)
> 1>main.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: wchar_t const * __thiscall
> ACE_Get_Opt::long_option(void)const "
> (__imp_?long_option at ACE_Get_Opt@@QBEPB_WXZ) referenced in function
> "void __cdecl process_command_line(int,char * * const,struct
> _PROGRAM_ARGS_ &)"
> (?process_command_line@@YAXHQAPADAAU_PROGRAM_ARGS_@@@Z)
> 1>main.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: int __thiscall
> ACE_Get_Opt::long_option(wchar_t const *,enum
> ACE_Get_Opt::OPTION_ARG_MODE)"
> (__imp_?long_option at ACE_Get_Opt@@QAEHPB_WW4OPTION_ARG_MODE at 1@@Z)
> referenced in function "void __cdecl process_command_line(int,char * *
> const,struct _PROGRAM_ARGS_ &)"
> (?process_command_line@@YAXHQAPADAAU_PROGRAM_ARGS_@@@Z)
> 1>main.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: __thiscall
> ACE_Get_Opt::ACE_Get_Opt(int,wchar_t * *,wchar_t const
> *,int,int,int,int)" (__imp_??0ACE_Get_Opt@@QAE at HPAPA_WPB_WHHHH@Z)
> referenced in function "void __cdecl process_command_line(int,char * *
> const,struct _PROGRAM_ARGS_ &)"
> (?process_command_line@@YAXHQAPADAAU_PROGRAM_ARGS_@@@Z)
> 
>      - The results do NOT change when I define __ACE_INLINE__
>      - If I don't specify ACE.lib as a dependency, many more symbols
> can't be resolved (23 total).
>      - My application is small, and only including OS.h, Get_Opt.h,
> Thread.h, and Synch.h.
>      - I am including the ACE headers before any others.
>      - I have compared solution settings between ACE and my app, but
> don't see any obvious differences.
>      - ACE.lib and ACE.dll are located in a folder specified 
> on my $PATH.
>      - I also copied ACE.dll to C:\Windows.
>      - There are no other versions of ACE on the system.
> 
> _______________________________________________
> ace-bugs mailing list
> ace-bugs at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/ace-bugs
> 



More information about the Ace-users mailing list