我有一段代码依赖于 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")
}