Microsoft Visual C++ Target O/S



我正在开发一个使用c++库的。net应用程序。一个库是使用另一个c++库的c++/CLR库。使用这些库的应用程序至少需要在Windows 7上运行。该系统使用Visual Studio 2019编译,并使用最新的SDK。据我所知,如果至少针对Windows 7,使用最新的SDK是可能的。

当我在Windows 7上启动应用程序时,我得到以下错误:

无法加载由"XXX.Net.dll"导入的过程。

在Windows 10上运行没有问题

XXX.Net.dll是使用c++库的c++/CLR库。

我读到设置WINVER_WIN32_WINNT宏将显式地针对所需的版本。我根据微软的指示添加了这些定义:

修改头文件中的宏(例如targetver.h

)

因此,在我的c++库中,我向targetver.h添加了以下宏声明:

#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

据我所知,这应该允许库在Windows 7上正常运行。有人能告诉我为什么这行不通吗?

注意:我们使用Ninject将所有二进制文件打包到主二进制文件中。这个错误发生在

这一行
new StandardKernel(new Bindings().

OK—我已经决定直接测试库失败—并发现库正在访问Windows 7上不可用的SDK操作—这导致库失败。

相关内容

最新更新