Я хочу использовать Tetgen для вычисления объема заданного набора точек путем тетраэдризации. Я уже видел фрагмент кода, который делает это, и может потребовать некоторой настройки.Ошибка компиляции Tetgen tetcall
Проблема заключается в том, чтобы получить tetcall (тестовая программа для tetgen) для запуска. Если я хочу скомпилировать его (в терминале Linux с помощью g ++ -o test tetcall.cxx -L./ -ltet). Я получаю:
test.cpp: 183: 24: предупреждение: устаревшее преобразование из строковой константы в 'char *' [-Wwrite-stringings] test.cpp: 184: 23: warning: устаревшее преобразование из строковой константы в 'char *' [-Wwrite-strings] test.cpp: 190: 30: error: невозможно преобразовать 'tetgenio :: polygon *' в 'tetgenbehavior *' для аргумента '1' to 'void tetrahedralize (tetgenbehavior *, tetgenio * , tetgenio *, tetgenio *, tetgenio *) ' test.cpp: 193: 26: предупреждение: устаревшее преобразование из строковой константы в' char * '[-Wwrite-stringings] test.cpp: 194: 29: предупреждение: устаревшее преобразование из строковой константы в 'char *' [-Wwrite-strings] test.cpp: 195: 26: предупреждение: устаревшее преобразование из строковой константы в 'char *' [-Wwrite-strings]
В том числе -L./ -ltet в команде или нет, кажется, не имеет значения для ошибки.
Эти предупреждения, я думаю, не являются такой проблемой. То, что я не понимаю ошибку на линии 190 tetcall.cxx вызова функции tetrahedralize:
tetrahedralize("pq1.414a0.1", &in, &out);
не работает, я ничего не изменилось, и есть все это с сайта [Http: // tetgen.berlios.de/][1] Я скомпилировал библиотеку с некоторыми предупреждениями с $ make tetlib
Все файлы (включая libtet.a) находятся на одной карте. функция Я думаю, что компилятор хочет подключиться, и где он может идти на юг, в tetgen.cxx линии 34498
void tetrahedralize(tetgenbehavior *b, tetgenio *in, tetgenio *out,
tetgenio *addin, tetgenio *bgmin)
Я посмотрел на tetgenbehavior класса в заголовке, но я не мог на самом деле цифра что делать из переменной tetgenbehavior * b или как выяснить его тип. Я видел некоторых членов команды, которые, как я думаю, подразумеваются как переключатели. Что я делаю неправильно, и в чем причина ошибки?