Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Unresolved external / 13 сообщений из 13, страница 1 из 1
01.09.2004, 10:48
    #32674788
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
В файле uuids.h есть такая декларация:

#ifndef OUR_GUID_ENTRY
#define OUR_GUID_ENTRY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
#endif
.
.
.
// fb6c4282-0353-11d1-905f-0000c0cc16ba
OUR_GUID_ENTRY(PIN_CATEGORY_PREVIEW,
0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba)

Я всвоей проге пишу:
.
.
.
hr = pBuild->FindInterface(
&PIN_CATEGORY_PREVIEW, // Preview pin.
0, // Any media type.
pCap, // Pointer to the capture filter.
IID_IAMAnalogVideoDecoder, (void**)&avd);
.
.
.

Выдается ошибка:
Unresolved external _PIN_CATEGORY_PREVIEW ...

В чем проблема?
C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 10:56
    #32674808
Kilroy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Включи в проект файл-исходник (*.cpp),
включи в него uuids.h (#include "uuids.h")
...
Рейтинг: 0 / 0
01.09.2004, 11:17
    #32674864
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Включи в проект файл-исходник (*.cpp),


Вы имеете ввиду исходник моей проги? Включен.


включи в него uuids.h (#include "uuids.h")

Тоже.
Если бы не было #include <uuids.h>, выдавались бы другие ошибки

C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 11:33
    #32674910
Kilroy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Нет, не исходник с прогой, а отдельный исходник с единственной
директивой #include
...
Рейтинг: 0 / 0
01.09.2004, 12:08
    #32675026
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Куча ошибок в uuids.h.

Попробовал создать хиадер file.h:

#include <guiddef.h>

#ifndef OUR_GUID_ENTRY
#define OUR_GUID_ENTRY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
#endif



OUR_GUID_ENTRY(myPIN_CATEGORY_PREVIEW,
0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba)

Затем добавил в проект file.cpp с #include "file.h"

В троке Unit.cpp :

hr = pBuild->FindInterface(
&myPIN_CATEGORY_PREVIEW, // Preview pin.
0, // Any media type.
pCap, // Pointer to the capture filter.
IID_IAMAnalogVideoDecoder, (void**)&avd);

Все та же ошибка :Unresolved external _myPin_CATEGORY_PREVIEW...

C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 12:42
    #32675145
Kilroy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Непонятно, зачем переопределять макрос DEFINE_GUID?
А вообще все должно быть примерно так:

// guids.h

DEFINE_GUID(myPIN_CATEGORY_PREVIEW,
0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba)

// guids.cpp

#include <guiddef.h>
#include "guids.h"

// unit.cpp

#include <guiddef.h>
#include "guids.h"

hr = pBuild->FindInterface(
&myPIN_CATEGORY_PREVIEW, // Preview pin.
0, // Any media type.
pCap, // Pointer to the capture filter.
IID_IAMAnalogVideoDecoder, (void**)&avd);
...
Рейтинг: 0 / 0
01.09.2004, 12:58
    #32675197
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Сделал как вы посоветовали.
В файле Unit.cpp:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include <uuids.h>
#include <strmif.h>


#include "Unit.h"
#include <guiddef.h>
#include "file.h"


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;


В строке TForm1 *Form1; ошибка Declaration sintax error.
Если #include "file.h" поставить перед Unit.h, то такая же ошибка в нем.
C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 13:06
    #32675214
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Проблема в
DEFINE_GUID(myPIN_CATEGORY_PREVIEW,
0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba)
т.к. если закоментарить
//#include <guiddef.h>
//#include "file.h"

и поставить

DEFINE_GUID(myPIN_CATEGORY_PREVIEW,
0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba)

то в строке TForm1 *Form1; ошибка Declaration sintax error.

C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 13:25
    #32675257
Гость-16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Unresolved external _PIN_CATEGORY_PREVIEW - это линковка уже. чета вы эта...
можыт, беблеатегу какую падключить нужна?
...
Рейтинг: 0 / 0
01.09.2004, 13:29
    #32675270
black zorro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Не занимайся фигней, с этими макросами которые раскрываются по разному в зависимости от еще кучи параметров только проблемы.
когда то я стакой вещью сталкивался и дошел до того что макрос DEFINE_GUID раскрывался как
Код: plaintext
1.
 extern "C" GUID <boooo> = {...}
а слово extern ниочем не говорит.
...
Рейтинг: 0 / 0
01.09.2004, 15:48
    #32675723
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
Как мне задать GUID?
Чтоб не было ошибок.
И почему Unresolved external для PIN_CATEGORY_PREVIEW?
Для других GUID из uuids.h, которые я использую ошибок нет!!!
C ув. Tors
...
Рейтинг: 0 / 0
01.09.2004, 16:26
    #32675840
black zorro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
автор
Как мне задать GUID?
Чтоб не было ошибок.
И почему Unresolved external для PIN_CATEGORY_PREVIEW?
Для других GUID из uuids.h, которые я использую ошибок нет!!!

ну говорят же раскрой макрос сам он тебе extern вставляет а вовсе не объявление переменной.

ты когда пишешь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
extern int foo;

void foo_foo (){
 foo =  1 ;
}
 // получаешь туже фигню. 
 // но если где то ты укажешь: 
int foo;
 //то все нормально слинкуется. 
...
Рейтинг: 0 / 0
01.09.2004, 16:44
    #32675900
DimaCh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unresolved external
//myguid.h

#include <uuids.h>
DEFINE_GUID(myPIN_CATEGORY_PREVIEW,0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);


в файле модуля добавляешь
#include <initguid.h> // это должно быть

#include "myguid.h"


и включаешь #include "myguid.h" там, где используешь
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Unresolved external / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]