在c++中#pragma注释之前搜索可用的库

Search for avaliable library before #pragma comment in c++?

本文关键字:搜索 c++ #pragma 注释      更新时间:2023-10-16

我有一段依赖于"Xinput "的代码。Lib "文件由Windows提供,以便与xbox控制器接口。

最近我安装了VS2012,这似乎导致了"Xinput"。Lib"不再对编译器可用。我找到了一个变通方法,我用"Xinput9_1_0"代替。在运行VS2012编译器的系统上。然而,这导致了一个问题,因为我正在多个系统上开发,其中一个运行VS2012,另一个运行VS2010。要编译,我必须在"Xinput9_1_0"之间进行更改。"Xinput. lib"answers"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")
}

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

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