繁体   English   中英

VC ++ 2010-尝试使用DLL的未声明标识符,少量代码

[英]VC++ 2010 - Undeclared Identifier in attempt at DLL, small amount of code

这里的C ++新手。 我正在尝试将一些WIA函数放到DLL中。 我一直在IWiaDevMgr变量上获取未声明的标识符。 创建项目时,我选择了Win32控制台应用程序和DLL应用程序类型。 不知道是否重要,但是我将wiaguid.lib放在项目properties -> Linker -> input -> additional dependencies

此代码有什么问题?

我的DLL

#include <wia.h>
namespace MyDLL
{
    class MyFirstFuncs
    {
        public:
              static __declspec(dllexport) int doWork();      
    };
}

MyDLL.cpp

#include "MyDLL.h"
namespace MyDLL
{
    int MyFirstFuncs::doWork()
    {
         IWiaDevMgr *pIWiaDevMgr;
    }   
}

我有同样的问题。 通过反复试验,我发现

#include <windows.h>
#include <wia.h>

解决了问题。

我也是C ++新手,所以无法告诉您这样做的确切原因。 WIA可能取决于WINDOWS.H中的某些定义/宏/任何内容

检查包含头文件的顺序。 可能和我在Directshow应用程序中遇到的问题一样。 我在d3d9.h之前包含了vmr9.h。 在构建过程中,编译器会引发与vmr9.h中包含的d3d9对象有关的错误。 我不得不重新排序内含物以解决问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM