J'ai essayé d'utiliser Boost Bibliothèque mais j'ai échoué, voir mon code:
#include "listy.h"
#include <boost/regex.hpp>
using namespace boost;
ListyCheck::ListyCheck() {
}
ListyCheck::~ListyCheck() {
}
bool ListyCheck::isValidItem(std::string &__item) {
regex e("(\\d{4}[- ]){3}\\d{4}");
return regex_match(__item, e);
}
4 Réponses :
Vous devez créer un lien vers libboost_regex code>. Ajouter -Lboost_regex code> au commutateur Compiler si vous utilisez GCC. P>
Ce sont des erreurs de liaison. La bibliothèque de Boost Regex n'est pas une bibliothèque d'en-tête uniquement comme Shared_PTR (par exemple) - vous devez créer un lien avec la bibliothèque binaire ou quelle que soit la bibliothèque binaire. P>
Vous devez créer un lien contre BOOST_REGEX. p>
eu un problème similaire.
La solution consistait à lier via Cumake avec la bibliothèque de liaison de la cible de commande: p> à l'aide de la syntaxe -lboost_regex comme proposé ici n'a pas fonctionné ici. (au moins pas avec cmake) p> Le problème de la racine aurait pu être des versions différentes des bibliothèques, ce qui entraîne le problème et même si le compilateur et le maillant trouvent la Regex Lib. p> p>