我确定这个问题有些奇怪,但我正在使用Code :: Blocks和GCC。 要在我的项目中使用某些特定功能,我需要确定在用户计算机中安装了哪个版本的Windows。
使用VS2013 / 15,我们可以使用VersionHelpers.h和IsWindowsXXXOrGreater()。但是GCC C ++呢?
答案 0 :(得分:2)
即使使用GCC或Clang或其他编译器,您仍然使用VersionHelpers.h
。这些函数与Visual C ++无关。它们是Windows SDK的一部分,所有Windows应用程序都必须使用它。
您可以download the Windows SDK from Microsoft并在开发计算机上安装它(如果尚未安装)。安装完成后,您需要告诉Code :: Blocks它可以找到SDK的头文件和LIB文件的路径。
VersionHelpers.h
将位于这些标头中(但您需要包含的是Windows.h
)。 VersionHelpers.h
文件定义了一系列内联函数,这些函数最终调用从kernel32.lib
和ntdll.lib
导出的函数。只要链接器可以找到那些LIB文件,一切都将按预期工作。
但请注意,很少需要确定Windows的实际版本。相反,您应该检查是否支持您需要的功能。如果要调用可能不可用的API函数(例如,仅在Windows 10上支持该函数,而您仍需要支持旧版本),则应GetModuleHandle
组合LoadLibrary
或GetProcAddress
与LoadLibrary
。 (如果您致电FreeLibrary
,则必须在完成后致电main=list("My graph title",cex=2.8)
。)