Visual C ++无法找到第三方ATL类

时间:2017-04-21 10:06:34

标签: c# c++ visual-studio-2012 com atl

我最近使用Visual Studio 2012编写了一个ATL对象。我知道'它已注册,因为我可以在C#中使用它(在将其添加到资源之后)。但是,我想使用相同的库编写C ++应用程序。但是,当我尝试将其作为CComPtr调用时,intellisense提示我它无法找到该类。

C#代码:

using BpFFTLib; // <- my ATL object with the Interface IFFT and class FFT

namespace comtest
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {

            BpFFTLib.IFFT fft= new BpFFTLib.FFT();

            // do fft stuff, it works, I tested it
        }
    }
}

然后是C ++代码:

#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>

int main(void){

    CComPtr<IFFT> pIFFT;
    pIFFT.CoCreateInstance(CLSID_FFT);
    // do the same fft stuff, but in C++
    return 0;
}

我对COM和Windows的其他黑暗艺术仍然很陌生,但我的理解让我相信C ++片段相当于C#片段。我错过了一些include指令吗?

对不起,我无法提供一个完全可编辑的例子。这意味着包括我写的整个FFT库。但是,我知道它有效,因为我在C#中进行了测试,所有参数都在函数调用和所有内容中正确编组。

...后来

所以我意识到我需要包含头文件和对.dll(我的ATL对象)的引用。但是,它仍然无法正常工作。我得到了一百万个神秘的链接器错误。必须有一种简单的方法来做到这一点,我不知道。

0 个答案:

没有答案