Форум программистов CodeGuru
16 Июль 2018, 16:54:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибки в СОМ-клиенте  (Прочитано 24307 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ninetta
Новичок
*
Офлайн Офлайн

Сообщений: 2



Просмотр профиля
« : 28 Март 2010, 01:23:41 »

Клиент выглядит так:

// Neuro_Client.cpp : main project file.

#include "stdafx.h"

#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <initguid.h>
#include "D:\NeuroServer\NeuroServer\INeuroC ontrol.h"


//#include "D:\NeuroServer\debug\NeuroServer.d ll"

#include "Form1.h"

using namespace Neuro_Client;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRende ringDefault(false);

// Create the main window and run it
Application::Run(gcnew Form1());

if ( FAILED( CoInitialize( NULL )))
{

return -1;
}


char* szProgID = "NeuroControl.Component.1"; //ProgID компонента
WCHAR szWideProgID[128];
CLSID clsid;
long lLen = MultiByteToWideChar( CP_ACP,
0,
szProgID,
strlen( szProgID ),
szWideProgID,
sizeof( szWideProgID ) );

szWideProgID[ lLen ] = '\0';
HRESULT hr = ::CLSIDFromProgID( szWideProgID, &clsid );

IClassFactory* pCF;

hr = CoGetClassObject( clsid,
CLSCTX_INPROC,
NULL,
IID_IClassFactory,
(void**) &pCF );


IUnknown* pUnk;
hr = pCF->CreateInstance( NULL, IID_IUnknown, (void**) &pUnk );

pCF->Release();

INeuroControl* pNeuroControl = NULL;
hr = pUnk->QueryInterface( IID_INeuroControl, (LPVOID*)&pNeuroControl );
pUnk->Release();

long result;
pNeuroControl->Multiply( 100, 8, &result );
//cout << "100 * 8 is " << result << endl;

pNeuroControl->Subtract( 1000, 333, &result );
//cout << "1000 - 333 is " << result << endl;

//cout << "Releasing instance" << endl;
pNeuroControl->Release();

//cout << "Shuting down COM" << endl;
CoUninitialize();

return 0;
}



Возникают следущие ошибки:

Error 1 error LNK2028: unresolved token (0A000012) "extern "C" void __stdcall CoUninitialize(void)" (?CoUninitialize@@$$J10YGXXZ) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 2 error LNK2020: unresolved token (0A000013) IID_IUnknown Neuro_Client.obj


Error 3 error LNK2020: unresolved token (0A000014) IID_IClassFactory Neuro_Client.obj


Error 4 error LNK2028: unresolved token (0A000015) "extern "C" long __stdcall CoGetClassObject(struct _GUID const &,unsigned long,void *,struct _GUID const &,void * *)" (?CoGetClassObject@@$$J220YGJABU_GU ID@@KPAX0PAPAX@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 5 error LNK2028: unresolved token (0A000016) "extern "C" long __stdcall CLSIDFromProgID(wchar_t const *,struct _GUID *)" (?CLSIDFromProgID@@$$J18YGJPB_WPAU_ GUID@@@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 6 error LNK2028: unresolved token (0A000018) "extern "C" long __stdcall CoInitialize(void *)" (?CoInitialize@@$$J14YGJPAX@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 7 error LNK2019: unresolved external symbol "extern "C" void __stdcall CoUninitialize(void)" (?CoUninitialize@@$$J10YGXXZ) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 8 error LNK2001: unresolved external symbol IID_IUnknown Neuro_Client.obj


Error 9 error LNK2019: unresolved external symbol "extern "C" long __stdcall CoGetClassObject(struct _GUID const &,unsigned long,void *,struct _GUID const &,void * *)" (?CoGetClassObject@@$$J220YGJABU_GU ID@@KPAX0PAPAX@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 10 error LNK2001: unresolved external symbol IID_IClassFactory Neuro_Client.obj


Error 11 error LNK2019: unresolved external symbol "extern "C" long __stdcall CLSIDFromProgID(wchar_t const *,struct _GUID *)" (?CLSIDFromProgID@@$$J18YGJPB_WPAU_ GUID@@@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 12 error LNK2019: unresolved external symbol "extern "C" long __stdcall CoInitialize(void *)" (?CoInitialize@@$$J14YGJPAX@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@Syst em@@@Z) Neuro_Client.obj


Error 13 fatal error LNK1120: 12 unresolved externals D:\3 - СТАНКИН\ДИПЛОМ\Program 2010\2\Client C++\Neuro_Client\Debug\Neuro_Client .exe


ПОМОГИТЕ ПОЖАЛУЙСТА!!!! Что не так??? Какие-то библиотеки не подключила?? user32.lib Подключала, не помогло. А СОМ-сервер вроде бы скомпилировался без ошибок.
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 17 Апрель 2010, 17:26:53 »

Error 13 fatal error LNK1120: 12 unresolved externals D:\3 - СТАНКИН\ДИПЛОМ\Program 2010\2\Client C++\Neuro_Client\Debug\Neuro_Client .exe

Голливудская улыбка

Что не так??? Какие-то библиотеки не подключила?? user32.lib Подключала, не помогло. А СОМ-сервер вроде бы скомпилировался без ошибок.

Ну да, это линкер ругается.
Нужно в настройках проекта указать библиотеки, с которыми должно линковаться приложение.
Например, CoUninitialize - это в ole32.lib.

Вобщем, смотрим чего там линкер не находит, лезем в MSDN, ищем там это и смотрим, какую библиотеку надо подключить.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!