[英]Conditionally link to shared library on a define in qmake
我有一個由#define
指令分支的代碼,例如:
#ifdef USE_LIB_CRYPTO
#include <openssl/evp.h>
#else
#include <cryptopp/pwdbased.h>
#include <cryptopp/sha.h>
#endif
取決於是否定義了USE_LIB_CRYPTO
我應該添加
LIBS += -lcrypto
或者
LIBS += -lcryptopp
我怎樣才能做到這一點? 例如,這應該通過以下方式控制:
qmake ./ DEFINES+="USE_LIB_CRYPTO"
所以我需要以某種方式檢查傳遞給 qmake 的define
並鏈接到我需要的庫。
您可以使用 qmake 的contains
測試功能。
contains ( DEFINES, USE_LIB_CRYPTO ){
LIBS += -lcrypto
} else {
LIBS += -lcryptopp
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.