ACE VERSION: 5.3.3
HOST MACHINE and OPERATING SYSTEM: Win 2000 SP 3
COMPILER NAME AND VERSION (AND PATCHLEVEL): VC++ 7.1 .NET
CONTENTS OF $ACE_ROOT/ace/config.h:
#include "ace/config-win32.h"
DOES THE PROBLEM AFFECT:
COMPILATION? NO
LINKING? YES
EXECUTION? N/A (doesn`t get that far)
SYNOPSIS:
Cannot build ACE with "Using MFC" enabled
DESCRIPTION:
I can build the ace debug DLL without a problem when not using MFC. But if I select MFC to be used in the ACE project, I get the following linking errors:
Linking...
Creating library ./aced.lib and object ./aced.exp
LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dll
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "protected: virtual __thiscall ACE_Section_Key_Win32::~ACE_Section_Key_Win32(void)" (??1ACE_Section_Key_Win32@@MAE@XZ)
Log_Msg_NT_Event_Log.obj : error LNK2001: unresolved external symbol __imp__RegCloseKey@4
Registry.obj : error LNK2001: unresolved external symbol __imp__RegCloseKey@4
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::open_section(class ACE_Configuration_Section_Key const &,char const *,int,class ACE_Configuration_Section_Key &)" (?open_section@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDHAAV2@@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegCreateKeyExA@36
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::open_section(class ACE_Configuration_Section_Key const &,char const *,int,class ACE_Configuration_Section_Key &)" (?open_section@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDHAAV2@@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegOpenKeyExA@20
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::remove_section(class ACE_Configuration_Section_Key const &,char const *,int)" (?remove_section@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDH@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegDeleteKeyA@8
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegEnumKeyExA@32 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::remove_section(class ACE_Configuration_Section_Key const &,char const *,int)" (?remove_section@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDH@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegEnumKeyExA@32
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegEnumValueA@32 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::enumerate_values(class ACE_Configuration_Section_Key const &,int,class ACE_String_Base<char> &,enum ACE_Configuration::VALUETYPE &)" (?enumerate_values@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@HAAV?$ACE_String_Base@D@@AAW4VALUETYPE@ACE_Configuration@@@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegEnumValueA@32
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::set_string_value(class ACE_Configuration_Section_Key const &,char const *,class ACE_String_Base<char> const &)" (?set_string_value@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDABV?$ACE_String_Base@D@@@Z)
Log_Msg_NT_Event_Log.obj : error LNK2001: unresolved external symbol __imp__RegSetValueExA@24
Registry.obj : error LNK2001: unresolved external symbol __imp__RegSetValueExA@24
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegQueryValueExA@24 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::get_string_value(class ACE_Configuration_Section_Key const &,char const *,class ACE_String_Base<char> &)" (?get_string_value@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBDAAV?$ACE_String_Base@D@@@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegQueryValueExA@24
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegDeleteValueA@8 referenced in function "public: virtual int __thiscall ACE_Configuration_Win32Registry::remove_value(class ACE_Configuration_Section_Key const &,char const *)" (?remove_value@ACE_Configuration_Win32Registry@@UAEHABVACE_Configuration_Section_Key@@PBD@Z)
Registry.obj : error LNK2001: unresolved external symbol __imp__RegDeleteValueA@8
Configuration.obj : error LNK2019: unresolved external symbol __imp__RegOpenKeyA@12 referenced in function "public: static struct HKEY__ * __cdecl ACE_Configuration_Win32Registry::resolve_key(struct HKEY__ *,char const *,int)" (?resolve_key@ACE_Configuration_Win32Registry@@SAPAUHKEY__@@PAU2@PBDH@Z)
Log_Msg_NT_Event_Log.obj : error LNK2019: unresolved external symbol __imp__RegisterEventSourceA@8 referenced in function "public: virtual int __thiscall ACE_Log_Msg_NT_Event_Log::open(char const *)" (?open@ACE_Log_Msg_NT_Event_Log@@UAEHPBD@Z)
Log_Msg_NT_Event_Log.obj : error LNK2019: unresolved external symbol __imp__RegCreateKeyA@12 referenced in function "public: virtual int __thiscall ACE_Log_Msg_NT_Event_Log::open(char const *)" (?open@ACE_Log_Msg_NT_Event_Log@@UAEHPBD@Z)
Log_Msg_NT_Event_Log.obj : error LNK2019: unresolved external symbol __imp__DeregisterEventSource@4 referenced in function "public: virtual int __thiscall ACE_Log_Msg_NT_Event_Log::close(void)" (?close@ACE_Log_Msg_NT_Event_Log@@UAEHXZ)
Log_Msg_NT_Event_Log.obj : error LNK2019: unresolved external symbol __imp__ReportEventA@36 referenced in function "public: virtual int __thiscall ACE_Log_Msg_NT_Event_Log::log(class ACE_Log_Record &)" (?log@ACE_Log_Msg_NT_Event_Log@@UAEHAAVACE_Log_Record@@@Z)
Memory_Pool.obj : error LNK2019: unresolved external symbol __imp__SetSecurityDescriptorDacl@16 referenced in function "protected: int __thiscall ACE_Pagefile_Memory_Pool::map(int &,unsigned int)" (?map@ACE_Pagefile_Memory_Pool@@IAEHAAHI@Z)
Memory_Pool.obj : error LNK2019: unresolved external symbol __imp__InitializeSecurityDescriptor@8 referenced in function "protected: int __thiscall ACE_Pagefile_Memory_Pool::map(int &,unsigned int)" (?map@ACE_Pagefile_Memory_Pool@@IAEHAAHI@Z)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__MsgWaitForMultipleObjectsEx@20 referenced in function "protected: virtual unsigned long __thiscall ACE_Msg_WFMO_Reactor::wait_for_multiple_events(int,int)" (?wait_for_multiple_events@ACE_Msg_WFMO_Reactor@@MAEKHH@Z)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function "protected: virtual int __thiscall ACE_Msg_WFMO_Reactor::dispatch_window_messages(void)" (?dispatch_window_messages@ACE_Msg_WFMO_Reactor@@MAEHXZ)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function "protected: virtual int __thiscall ACE_Msg_WFMO_Reactor::dispatch_window_messages(void)" (?dispatch_window_messages@ACE_Msg_WFMO_Reactor@@MAEHXZ)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function "protected: virtual int __thiscall ACE_Msg_WFMO_Reactor::dispatch_window_messages(void)" (?dispatch_window_messages@ACE_Msg_WFMO_Reactor@@MAEHXZ)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__PeekMessageA@20 referenced in function "protected: virtual int __thiscall ACE_Msg_WFMO_Reactor::dispatch_window_messages(void)" (?dispatch_window_messages@ACE_Msg_WFMO_Reactor@@MAEHXZ)
Msg_WFMO_Reactor.obj : error LNK2019: unresolved external symbol __imp__MsgWaitForMultipleObjects@20 referenced in function "protected: virtual unsigned long __thiscall ACE_Msg_WFMO_Reactor::poll_remaining_handles(unsigned long)" (?poll_remaining_handles@ACE_Msg_WFMO_Reactor@@MAEKK@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__CloseServiceHandle@4 referenced in function "public: virtual __thiscall ACE_NT_Service::~ACE_NT_Service(void)" (??1ACE_NT_Service@@UAE@XZ)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__CreateServiceA@52 referenced in function "public: int __thiscall ACE_NT_Service::insert(unsigned long,unsigned long,char const *,char const *,unsigned long *,char const *,char const *,char const *)" (?insert@ACE_NT_Service@@QAEHKKPBD0PAK000@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__OpenSCManagerA@12 referenced in function "public: int __thiscall ACE_NT_Service::insert(unsigned long,unsigned long,char const *,char const *,unsigned long *,char const *,char const *,char const *)" (?insert@ACE_NT_Service@@QAEHKKPBD0PAK000@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__DeleteService@4 referenced in function "public: int __thiscall ACE_NT_Service::remove(void)" (?remove@ACE_NT_Service@@QAEHXZ)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__ChangeServiceConfigA@44 referenced in function "public: int __thiscall ACE_NT_Service::startup(unsigned long)" (?startup@ACE_NT_Service@@QAEHK@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__QueryServiceConfigA@16 referenced in function "public: unsigned long __thiscall ACE_NT_Service::startup(void)" (?startup@ACE_NT_Service@@QAEKXZ)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__StartServiceA@12 referenced in function "public: int __thiscall ACE_NT_Service::start_svc(class ACE_Time_Value *,unsigned long *,unsigned long,char const * *)" (?start_svc@ACE_NT_Service@@QAEHPAVACE_Time_Value@@PAKKPAPBD@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__ControlService@12 referenced in function "public: int __thiscall ACE_NT_Service::stop_svc(class ACE_Time_Value *,unsigned long *)" (?stop_svc@ACE_NT_Service@@QAEHPAVACE_Time_Value@@PAK@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__QueryServiceStatus@8 referenced in function "public: int __thiscall ACE_NT_Service::state(unsigned long *,class ACE_Time_Value *)" (?state@ACE_NT_Service@@QAEHPAKPAVACE_Time_Value@@@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__OpenServiceA@12 referenced in function "public: int __thiscall ACE_NT_Service::test_access(unsigned long)" (?test_access@ACE_NT_Service@@QAEHK@Z)
NT_Service.obj : error LNK2019: unresolved external symbol __imp__SetServiceStatus@8 referenced in function "protected: int __thiscall ACE_NT_Service::report_status(unsigned long,unsigned long)" (?report_status@ACE_NT_Service@@IAEHKK@Z)
OS.obj : error LNK2019: unresolved external symbol __imp__GetUserNameA@8 referenced in function "public: static char * __cdecl ACE_OS::cuserid(char *,unsigned int)" (?cuserid@ACE_OS@@SAPADPADI@Z)
OS.obj : error LNK2019: unresolved external symbol __imp__GetUserNameW@8 referenced in function "public: static unsigned short * __cdecl ACE_OS::cuserid(unsigned short *,unsigned int)" (?cuserid@ACE_OS@@SAPAGPAGI@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegFlushKey@4 referenced in function "public: int __thiscall ACE_Registry::Naming_Context::flush(void)" (?flush@Naming_Context@ACE_Registry@@QAEHXZ)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegConnectRegistryA@12 referenced in function "public: static int __cdecl ACE_Predefined_Naming_Contexts::connect(class ACE_Registry::Naming_Context &,struct HKEY__ *,char const *)" (?connect@ACE_Predefined_Naming_Contexts@@SAHAAVNaming_Context@ACE_Registry@@PAUHKEY__@@PBD@Z)
..\bin\aced.dll : fatal error LNK1120: 37 unresolved externals
I didn't find any information on the ACE web site or in the distribution that says explicitly if the .NET environment is supported or not. Is it?
Thanks in advance for your help.
Roger Leblanc
It seems that nobody had the time to answer my question so I will answer it myself for the records.
The solution is to simply add the libraries AdvAPI32.Lib & User32.lib as Additional dependencies in the properties of the project ACE DLL under Linker/Input.
Roger Leblanc