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

Stew Paddaso stew.paddaso at gmail.com
Tue Jun 19 13:30:00 CDT 2007


Thanks Johnny, but my project has wchar_t set as a built-in type (so
does the ACE solution I built with). When I don't make wchar_t a built
in type, I get the same warnings except for the function agruments:

ACE_Thread_Mutex(unsigned short const *,struct ACE_mutexattr_t *)

instead of:

ACE_Thread_Mutex(wchar_t const *,struct ACE_mutexattr_t *)

- Stew

On 6/19/07, Johnny Willemsen <jwillemsen at remedy.nl> wrote:
> 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