簡體   English   中英

有條件地鏈接到 qmake 中定義的共享庫

[英]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.

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