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>