J'essaie d'utiliser la bibliothèque libdxf
. J'ai créé un petit programme en cours d'exécution que je reçois un défaut de segmentation. J'ai débogué mon code en utilisant gdb
et ai localisé la ligne de code provoquant le noyau à être jeté.Erreur de segmentation à l'aide de libdxf
Mon extrait de code est écrit comme ci-dessous:
#include<iostream>
#include<../src/dl_dxf.h>
#include<../src/dl_creationadapter.h>
using namespace std;
class Test:public DL_CreationAdapter {
public:
void write();
};
void Test::write(){
DL_Dxf *dxf = new DL_Dxf(); // fault here
DL_Codes::version exportVersion = DL_Codes::AC1015;
DL_WriterA* dw = dxf->out("myfile.dxf", exportVersion);
if (dw==NULL) {
printf("Cannot open file 'myfile.dxf' \
for writing.");
}
delete dxf;
}
int main(){
Test test;
test.write(); // fault here
return 0;
}
La source de défaut de segmentation est en 2 lignes ci-dessus avec le commentaire //fault here
.
Comment gérer cette erreur de segmentation?
Vous gérez cela en corrigeant le bug. Désolé, mais votre question est complètement inutile, car le code à l'origine de l'erreur n'est pas inclus. Votre code d'appel n'est pas pertinent (et il n'est même pas minimal, comme requis par les directives). Cela dit, quelle version de cette bibliothèque utilisez-vous et quelle est son URL? Vous devriez mentionner ceux-ci parce que ce n'est pas une bibliothèque comme Boost ou Qt qui sont connus de la plupart des programmeurs C++. –