有条件地 link 到 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"
所以我需要以某种方式检查 define
传递给 qmake 和 link 传递给我需要的库。
您可以使用contains
qmake 的测试功能。
contains ( DEFINES, USE_LIB_CRYPTO ){
LIBS += -lcrypto
} else {
LIBS += -lcryptopp
}
我有一个由 #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"
所以我需要以某种方式检查 define
传递给 qmake 和 link 传递给我需要的库。
您可以使用contains
qmake 的测试功能。
contains ( DEFINES, USE_LIB_CRYPTO ){
LIBS += -lcrypto
} else {
LIBS += -lcryptopp
}