簡體   English   中英

在 C++ 中的#pragma 注釋之前搜索可用的庫?

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

我有一段代碼,它依賴於 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")
}

將宏用於您感興趣的特定版本的 VS:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM