Bonjour,
Je voudrais utiliser la bibliothèque Boost et bizarrement j'ai un message d'erreur lors de la compilation. J'ai simplement ajouté un #include <boost/algorithm/minmax.hpp> pour faire un test mais ça ne compile pas...
Auriez-vous une idée ?
Bonjour,
Je voudrais utiliser la bibliothèque Boost et bizarrement j'ai un message d'erreur lors de la compilation. J'ai simplement ajouté un #include <boost/algorithm/minmax.hpp> pour faire un test mais ça ne compile pas...
Auriez-vous une idée ?
Code parrain certification Voltaire : NTMPH759
Bonjour,
Je me réfère à cette page. J'ai créé une application 64-bits et j'ai ajouté le header #include <boost/multiprecision/float128.hpp>. Après compilation, j'obtiens ces messages d'erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <fmx.h> #pragma hdrstop #include "Unit1.h" #include <boost/multiprecision/float128.hpp> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.fmx" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { float128 nb = 0.123456789987654321; }
Le fichier float128.hpp s'ouvre et le curseur s'arrête à :[bcc64 Erreur] float128.hpp(30): "Sorry compiler is neither GCC, not Intel, don't know how to configure this header."
[bcc64 Erreur] float128.hpp(122): utilisation de l'identificateur 'float128_type' non déclaré
[bcc64 Erreur] float128.hpp(137): nom de type 'float128_type' inconnu
[bcc64 Erreur] float128.hpp(147): utilisation de l'identificateur 'float128_type' non déclaré
[bcc64 Erreur] float128.hpp(147): aucun type nommé 'value' dans the global namespace
Je suis tombé sur cette page qui parle de l'utilisation de float128 et de l'ajout de BOOST_MP_USE_FLOAT128, mais je ne comprends pas comment l'ajouter.#if !defined(BOOST_MP_USE_FLOAT128) && !defined(BOOST_MP_USE_QUAD)
# error "Sorry compiler is neither GCC, not Intel, don't know how to configure this header."
#endif
Si vous avez des pistes, je suis preneur.
- When using the Intel compiler, the underlying type defaults to float128 if it's available and _Quad if not. You can override the default by defining either BOOST_MP_USE_FLOAT128 or BOOST_MP_USE_QUAD.
Code parrain certification Voltaire : NTMPH759
Avez-vous bien déclaré le chemin d'accès de la bibliothèque Boost dans Projet>Option>C++>Chemin d'inclusion ?
Sous XE10 ce chemin pourra être : C:\Program Files (x86)\Embarcadero\Studio\17.0\include\boost_1_39
Oui, j'ai bien ajouté le chemin de la bibliothèque Boost : C:\Program Files (x86)\Embarcadero\Studio\15.0\include\boost_1_55. Dans mon application, j'utilise la multiprécision qui est disponible uniquement dans boost_1_55, ce qui m'a obligé à créer une application 64 bits. Si vous pouvez essayer de compiler ce code, ça serait sympa !
Je mets le code ici et je joins également le projet minimaliste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <fmx.h> #pragma hdrstop #include "Unit1.h" #include <boost/multiprecision/float128.hpp> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.fmx" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { using namespace boost::multiprecision; float128 pi = 3.1415926535897932384626433832795028841971693993751058Q; ShowMessage(pi); }
Code parrain certification Voltaire : NTMPH759
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager