2015-11-11 8 views
2

я создаю приложение Direct2D и страницу обзора API говорит первый шаг заключается в создании завода ... ну я попробовал, что с помощью этой функцииКак создать Direct2D завод

D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &factory); 

но это дает ошибка

Error 62 error LNK2019: unresolved external symbol [email protected] referenced in function "long __cdecl D2D1CreateFactory(enum D2D1_FACTORY_TYPE,struct _GUID const &,void * *)" ([email protected]@[email protected]@[email protected]@[email protected] 

Я вызываю функцию D2D1CreateFactory из функции WinMain.

Это, как я инициализируется указатель на заводе

ID2D1Factory *factory; 

Это Включать и Библиотека Каталоги

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include 
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86 

У меня есть опыт работы с Direct3D, так что я знаком с устройствами и цели визуализации, но я создавалось впечатление, что для direct2D завод приходит первым, поэтому я не создал никаких устройств, не выдал цели и т. д.

Любая помощь приветствуется.

+0

Вы на самом деле сказали компоновщику, какие библиотеки связывать? Недостаточно указать только расположение библиотек. –

+0

Эта же конфигурация работала для 3D-приложений в прошлом ... если не существует разницы в указании каталогов между приложениями 2d и 3d, она должна работать – sam

ответ

3

Попробуйте изменить его описание.

#pragma comment(lib, "d2d1.lib") 

Он свяжет d2d1.lib с кодом объекта. Вы можете использовать эту директиву для ссылки на другие библиотеки.

+0

Это работает, спасибо! – sam