有条件地链接到qmake中的定义上的共享库

时间:2016-09-23 07:28:08

标签: c++ c qt 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并链接到我需要的库。

1 个答案:

答案 0 :(得分:1)

您可以使用qmake的contains测试功能。

contains ( DEFINES, USE_LIB_CRYPTO ){
    LIBS += -lcrypto
} else {
    LIBS += -lcryptopp
}