Как-то, месяца 4 назад, меня завоевало желание написать (в целях собственного опыта) программу со структурой клиент-сервер. Учился исправно по мегакнижке "Основы СОМ Дейла Роджерсона" и "Технология СОМ с сайта developing.ru", строго разбирался во всех мелочах и параллельно делал свой собственный проэкт, совершенствуя его по мере обучения. Дошел до места где надо сделать DLL заместителя/заглушки! Почитав, понял -> пишем файл с расширением idl (текст ниже), создаем проэкт New Project->Visual C++ Project->Win32->(Application type: DLL, Additional option: Empty Project) (среда: Visual Studio 2003), включаем этот файл в проэкт, компилируем файл, после чего он нам генерит 4 файла name_i.c name_p.c name_h.h dlldata.c!!! Код, как мне и обещали, оказался почти нечитаемым. Включил файлы в проэкт закомпилил, получаю ошибку компиляции "Fatal error C1189: #error : You need a Windows 2000 or later to run this stub because it uses these features" Полез на этот сайт, вырыл, оказывается проблема решается установкой ключей "/no_robust /Os" в MIDL компиляторе. И тут же появилась проблема линковки проэкта ->
Linking...
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_DebugServerRelease@8
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_DebugServerQueryInterface@8
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_CountRefs@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_IsIIDSupported@8
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_Invoke@12
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_Disconnect@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_Connect@8
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_AddRef@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer_QueryInterface@12
BaseServ_p.obj : error LNK2001: unresolved external symbol _IUnknown_Release_Proxy@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _IUnknown_AddRef_Proxy@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _IUnknown_QueryInterface_Proxy@12
BaseServ_p.obj : error LNK2001: unresolved external symbol _NdrOleFree@4
BaseServ_p.obj : error LNK2001: unresolved external symbol _NdrOleAllocate@4
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrProxyErrorHandler@4 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrClearOutParameters@12 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrProxyFreeBuffer@8 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrConvert@8 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrProxySendReceive@8 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrProxyGetBuffer@8 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__RpcRaiseException@4 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrProxyInitialize@20 referenced in function _BaseInterface_Sum_Proxy@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrStubGetBuffer@12 referenced in function _BaseInterface_Sum_Stub@16
BaseServ_p.obj : error LNK2019: unresolved external symbol __imp__NdrStubInitialize@16 referenced in function _BaseInterface_Sum_Stub@16
dlldata.obj : error LNK2019: unresolved external symbol __imp__NdrDllGetClassObject@24 referenced in function _DllGetClassObject@12
dlldata.obj : error LNK2019: unresolved external symbol __imp__NdrDllCanUnloadNow@4 referenced in function _DllCanUnloadNow@0
dlldata.obj : error LNK2019: unresolved external symbol _NdrCStdStubBuffer_Release@8 referenced in function _CStdStubBuffer_Release@4
Debug/RBaseServ.dll : fatal error LNK1120: 27 unresolved externals
В книжке все легче решается, на практике не понятные мне ошибки... Может кто поможет?? Ссылочку? Совет? Носом торните — не обижусь! Спасибо за внимание!!!