vc++ 2010 -未声明的标识符在DLL中的尝试,少量代码
VC++ 2010 - Undeclared Identifier in attempt at DLL, small amount of code
c++新手。我试图把一些WIA函数在DLL。我一直在IWiaDevMgr变量上获取和未声明的标识符。在创建项目时,我选择了Win32控制台应用程序和DLL应用程序类型。不确定这是否重要,但我把它放在了wiaguid上。项目中的Libproperties -> Linker -> input -> additional dependencies
。
这段代码有什么问题?
MyDLL.h
#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对象的错误。
相关文章:
- 是否可以在Linux上使用.Net Core 3.1创建C++/CLI代码的C#DLL
- 如何在 c# 代码中通过引用调用时从 c++ dll 更新数组值?
- 代码在 msvcrt .dll函数上设置断点失败
- 如何从支持linux/mac操作系统的第三方代码为我的c#项目创建dll
- 由于找不到cpprest_2_10.dll,代码执行无法继续
- 可以从本机代码(如C++/Delphi)中使用.netCore DLL
- 外部 "C" Visual Studio 2015 中的显式类型错误,DLL 测试代码
- CPP DLL 自定义操作代码在安装过程中未执行
- 在注入的 Dll 的 DllMain 中运行代码导致注入超时
- 通过 dll 注入在主线程中执行代码
- C++端口监视器 (mfilemon.dll) RDP 虚拟通道代码未执行
- C++ dll 在 C# 代码中抛出 EntryPointNotFoundException
- jvm.dll 上的加载库失败,错误代码为 183
- 将代码移动到函数中时,DLL "myApp.exe"中找不到序号错误0xC0000138
- 尝试将 c++ dll 导入 c 尖锐代码
- 在C#代码中调用C DLL
- .NET CORE 2 DLL引用带有C 代码运行时错误
- 附加到 C++/CLI dll 的性能探查器无法访问本机C++代码
- C - 将代码注入运行过程(使用DLL)
- Excel 2016 VSTO 加载项与本机代码 DLL