2014-12-04 31 views
3

我正在開發Windows運行時組件(Visual C++)繪圖庫,用於Windows應用商店應用C#項目。如何使用Direct2d效果解決「錯誤LNK2001:無法解析的外部符號_CLSID_D2D1Blend」?

一切都按預期運行,直到我開始向庫中添加一些效果功能。

當試圖創建一個類似波紋管的效果:顯示

m_d2dContext->CreateEffect(CLSID_D2D1Blend, &m_blendEffect) 

以下錯誤:

1>MyLibFile.obj : error LNK2001: unresolved external symbol _CLSID_D2D1Blend 

我已經在我的pch.h這些附註註釋:

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

我懷疑有些定義缺失,但我不知道是什麼已在pch.h中添加。

我在虛擬機-VM-Ware上運行Windows 10 Technical Preview版本9860和VS Express 2013更新3。

這是使用效果,直接2D的示例項目:Direct2D-Image-Effects

回答

4

由於它矗立在MSDN - Blend EffectLibrary - d2d1.lib, dxguid.lib

你缺少dxguid.lib

此外,您還可以使用原始GUID: {81C5B77B-13F8-4CDD-AD20-C890547AC65D}

+2

從不硬編碼一個GUID,他們改變。鏈接到dxguid.lib就足夠了。 – 2014-12-05 15:18:38

+0

謝謝!我不熟悉Windows應用程序開發,並且我不太熟悉這些文檔。但是,仔細閱讀完整的文檔頁面,尤其是要求/庫部分是我的錯。生活與學習。 – 2014-12-05 16:39:57

相關問題