【发布时间】:2016-09-23 07:28:07
【问题描述】:
我有一个由#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 并链接到我需要的库。
【问题讨论】:
-
总是添加 lib 依赖。如果没有必要,链接器会为您完成这项工作。
-
@LPs 如果我链接到构建机器上不存在的库,我会得到
/usr/bin/ld: cannot find -lsdfjiijasdf所以我认为应该控制它。 -
嗯,显然它必须存在于你的 SDK 中。
-
顺便说一句,您可以使用
CONFIG,如this answer所示