Я пытаюсь использовать библиотеку libdxf
. Я создал небольшую программу, в которой я получаю ошибку сегментации. Я отлаживал свой код с помощью gdb
и нашел код, вызывающий сброс ядра.Ошибка сегментации с использованием libdxf
Мой фрагмент кода, как написано ниже:
#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;
}
Источник ошибки сегментации в 2 строки выше с комментарием //fault here
.
Как справиться с этой ошибкой сегментации?
Вы справляетесь с этим, исправляя ошибку. Извините, но ваш вопрос совершенно бесполезен, потому что код, вызывающий ошибку, не включен. Ваш код вызова не имеет значения (и он даже не минимальный, как требуется в соответствии с рекомендациями). Тем не менее, какую версию этой библиотеки вы используете и каков ее URL? Вы должны упомянуть их, потому что это не такая библиотека, как Boost или Qt, которые известны большинству программистов на C++. –