Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Visual C++ подключение библиотек

Вы не вошли.

 Поиск | Регистрация | Вход 

OT
24.09.2010 09:32:59
#1

Гость

Visual C++ подключение библиотек

Доброе утро столкнулся с такой проблемой:
разрабатываю приложение ндля Windows на Visual C++ для платы L-783.
Скопировал файлы в деррикторию с проектом:
ioctl.h,ifc_ldev.h, create.h.
Подключил к проекту 2 файла:
lguids.cpp, create.cpp.
возникает 3 ошибки:
1.ifc_ldev.h(93) : error C2065: //'IID_ILDEV//' : undeclared identifier
2.ifc_ldev.h(93) : error C2501: //'DEFINE_GUID//' : missing storage-class or type specifiers
3.ifc_ldev.h(93) : error C2078: too many initializers

Код моей программы следующий:

#include "afxwin.h"

#include "ioctl.h"
#include "ifc_ldev.h"
#include "create.h"

class CTheApp : public CWinApp
{
    public:
    BOOL InitInstance();
};

class CMainWnd : public CFrameWnd
{
    public:
    CMainWnd();
    DECLARE_MESSAGE_MAP();
    afx_msg void OnPaint();
};
CTheApp CTheApp;

CMainWnd::CMainWnd()
{
    Create(NULL,"Myprog",WS_OVERLAPPEDWINDOW,rectDefault,
        NULL,NULL);
}

void CMainWnd::OnPaint()
{
    CPaintDC dc(this);
    dc.TextOut(200,200,"okey",4);
}

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()

BOOL CTheApp::InitInstance()
{
m_pMainWnd = new CMainWnd();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}

24.09.2010 12:51:29
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Visual C++ подключение библиотек

там в файлах lguids.cpp create.cpp пути указаны относительные к инклюдам . скорректируйте их.

OK
24.09.2010 17:40:53
#3

Гость

Re: Visual C++ подключение библиотек

ФАЙЛ LGUIDS.H:

#define INITGUID
#include "stubs.h"
#include "ioctl.h"
#include "ifc_ldev.h"

Все файлы находятся в дерриктории с проектом, и как я понял менять ничего не надо?

ФАЙЛ CREATE.CPP:
#include <objbase.h>
#include "ioctl.h"
#include "ifc_ldev.h"
//#include <unknwn.h>

#include "create.h"

CREATEFUNCPTR CreateInstance;
HINSTANCE CallCreateInstance(char* name)
{
   HINSTANCE hComponent = ::LoadLibrary(name);
   if(hComponent==NULL)
   {
//      cout << "Unable load dll" << endl;
      return 0;
   }
   CreateInstance = (CREATEFUNCPTR)::GetProcAddress(hComponent,"CreateInstance");
   if(CreateInstance==NULL)
   {
//      cout << "Unable find CreateInstance" << endl;
      return 0;
   }
   return hComponent;
}
// CreateInstance(PCIA);
Файлы "stubs.h","ioctl.h","ifc_ldev.h" находятся в дерриктории с проектом.
Что именно надо изменить?

27.09.2010 09:19:55
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Visual C++ подключение библиотек

Примеры что идут в комплекте открываются и собираются?

OT
27.09.2010 09:24:18
#5

Гость

Re: Visual C++ подключение библиотек

Да, писал консольное приложение на visual c++, всё компилируется без ошибок и запускается, а вот при создании оконного приложения, выводятся 3 ошибки :
1.ifc_ldev.h(93) : error C2065: ////'IID_ILDEV////' : undeclared identifier
2.ifc_ldev.h(93) : error C2501: ////'DEFINE_GUID////' : missing storage-class or type specifiers
3.ifc_ldev.h(93) : error C2078: too many initializers

OT
27.09.2010 13:43:35
#6

Гость

Re: Visual C++ подключение библиотек

Такая проблема возникла, как видно из кода, при создании MFC приложения.. при создании консольной программы такая проблема не возникает....

28.09.2010 09:40:08
#7

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Visual C++ подключение библиотек

Я попробовать сейчас не могу тк в отпуске. Обычное оконное собиралось без проблем - там есть пример. Еще я пользуюсь wxWindows там тоже все работает. MFC я не пользуюсь совсем и у меня его нет в VC Express...

28.09.2010 10:44:20
#8

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Visual C++ подключение библиотек

Не в тот namespace попало?

OT
01.10.2010 08:43:52
#9

Гость

Re: Visual C++ подключение библиотек

Можно узнать,когда приблизительно сможете попробовать  с MFC, конечно, если собираетесь попробовать?

01.10.2010 12:01:09
#10

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Visual C++ подключение библиотек

stubs.h делает #include <windows.h>, откуда должен подцепиться DEFINE_GUID() по сложной иерархии виндусячьих h-файлов.

Может, у Вас символ WIN32_LEAN_AND_MEAN определен по умолчанию? В свойствах проекта посмотрите.

01.10.2010 12:14:04
#11

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Visual C++ подключение библиотек

В MFC он еще может называться VC_EXTRALEAN.

OT
04.10.2010 15:12:34
#12

Гость

Re: Visual C++ подключение библиотек

WIN32_LEAN_AND_MEAN и VC_EXTRALEAN определены в файлах stdafx.h, убирал их и та же проблема...

04.10.2010 15:38:26
#13

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Visual C++ подключение библиотек

А в свойствах проекта?
В общем, Вам надо добиться, чтобы в программе были все стандартные заголовки win32api.
ОЧЕНЬ похоже на lean and mean, потому что он как раз выключает в числе прочего ole2.h, и из нужного этому примеру не найдется именно GUIDов.