1
J'ai un code qui est ramifié par #define
directive, par exemple:lien conditionnellement à la bibliothèque partagée sur une définition dans qmake
#ifdef USE_LIB_CRYPTO
#include <openssl/evp.h>
#else
#include <cryptopp/pwdbased.h>
#include <cryptopp/sha.h>
#endif
Selon est défini USE_LIB_CRYPTO
ou non, je dois ajouter
LIBS += -lcrypto
ou
LIBS += -lcryptopp
Comment puis-je faire cela? Par exemple, cela devrait être contrôlé par:
qmake ./ DEFINES + = « USE_LIB_CRYPTO »
donc je dois vérifier en quelque sorte est passé à define
qmake et un lien vers la bibliothèque j'ai besoin.
Toujours ajouter la dépendance lib. Si ce n'est pas nécessaire, linker fait le travail pour vous. – LPs
@LPs si je lie à une bibliothèque qui n'existe pas sur la machine de construction, j'obtiens '/ usr/bin/ld: ne trouve pas -lsdfjiijasdf' donc je pense que cela devrait être contrôlé. –
Eh bien, il est évidemment nécessaire d'exister sur votre SDK. – LPs