[Ace-users] [ace-bugs] Unresolved symbols when linking to Windows
application
Stew Paddaso
stew.paddaso at gmail.com
Tue Jun 19 11:48:50 CDT 2007
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.
More information about the Ace-users
mailing list