在c++中搜索#pragma注解前的可用库?

k2arahey  于 2023-03-17  发布在  其他
关注(0)|答案(1)|浏览(102)

我有一段代码,它依赖于Windows提供的“Xinput.lib”文件,以便与Xbox控制器接口。
最近我安装了VS2012,这似乎导致“Xinput.lib”不再对编译器可用。我找到了一个变通办法,我在运行VS2012编译器的系统上使用“Xinput9_1_0.lib”。然而,这导致了一个问题,因为我正在多个系统上开发,其中一个运行VS2012,另一个运行VS2010。为了编译,我必须在代码中的“Xinput9_1_0.lib”和“Xinput.lib”之间切换。
我想知道的是,在使用#pragma注解链接库之前,是否有一种方法可以搜索可用的库?
大概是这样的(我意识到这根本站不住脚,只是一种意图的展示):

if("Xinput.lib" exists) {
#pragma comment(lib,"Xinput.lib")
}
else if("Xinput9_1_0.lib" exists) {
#pragma comment(lib,"Xinput9_1_0.lib")
}
ogsagwnx

ogsagwnx1#

使用您感兴趣的特定VS版本的宏来选择适当的库:

#ifdef _MSC_VER < 1700 //pre 2012
#pragma comment(lib,"Xinput.lib")
#else
#pragma comment(lib,"Xinput9_1_0.lib")
#endif

相关问题