2017-09-06 1 views
0

Ce sont les fichiers d'en-tête et les bibliothèquesCompile erreur: erreur fatale: fichier 'boost/numérique/uBLAS/matrix.hpp' not found

#include <iostream> 
#include <algorithm> 
#include <stdio.h> 
#include <math.h> 
#include <vector> 
#include <numeric> 
#include <strings.h> 
#include <assert.h> 

#include <dirent.h> 


#include <boost/numeric/ublas/matrix.hpp> 
#include <boost/numeric/ublas/io.hpp> 

#include <boost/geometry.hpp> 
#include <boost/geometry/geometries/point_xy.hpp> 
#include <boost/geometry/geometries/polygon.hpp> 
#include <boost/geometry/geometries/adapted/c_array.hpp> 


#include "mail.h" 

Je suis en train de compiler ce C++ fichier que je suis en utilisant

g++ -O3 -DNDEBUG -o evaluate_object evaluate_object.cpp 

La sortie de la compilation

evaluate_object.cpp:13:10: fatal error: 'boost/numeric/ublas/matrix.hpp' file 
     not found 
#include <boost/numeric/ublas/matrix.hpp> 
     ^
1 error generated. 

Ps: je cours sur macos sierra 10,12 J'ai essayé d'installer coup de pouce en t façons: es

  • sudo port install boost
  • infusion installer boost
  • port sudo installer boost + universel

mais je m'y suis toujours le même problème. Je serais heureux de sortir de cette zone noob. Je suis aussi un débutant de macos.

Répondre

0

Il semble que votre "boost" inclut le répertoire n'est pas présent dans les répertoires d'environnement définis par l'environnement. Vous pouvez spécifier un en passant argument « -I » à g ++ commande, à savoir

g++ -O3 -DNDEBUG -I/usr/local/Cellar/blahblah -o evaluate_object evaluate_object.cpp

votre code est incomplet et peut-être aussi si vous appelez en fait quelques-unes des fonctions de boost vous pourriez avoir besoin d'ajouter quelques objets pour relier et alors vous ferez face à une erreur "référence indéfinie à". Pour surmonter cela, vous devez spécifier l'indicateur "-L" pour votre commande g ++.

+0

Je ne comprends pas très bien ce que fait le drapeau -l, mais j'ai essayé d'exécuter votre commande suggérée. g ++ -O3 -DNDEBUG -l /usr/local/Cellar/boost -o evaluate_object evaluate_object.cpp J'ai toujours la même erreur de sortie. Et en ce qui concerne le code, c'est trop long. Ce n'est pas mon code si – Wes

+0

-I indicateur pointe vers les répertoires où le compilateur rechercherait les fichiers d'en-tête que vous #incluez dans votre code. S'il vous plaît vérifier si le mentionné est physiquement présent sur votre lecteur, si ce n'est pas probablement votre installation de suralimentation ne comprend pas UBLAS. – Alex

+0

J'ai vérifié le répertoire ci-dessous: /usr/local/Cellar/boost/1.65.0/include/boost/numeric/ublas. Les deux boost et uBLAS sont physiquement trouvés comme vous pouvez le voir. Qu'est-ce que je devrais faire maintenant ? – Wes