Доброе всем время суток, скачал с оф сайта alglib для С++ В инструкции на ОФ сайте сказано что нужно просто подключить h файл и все будет прекрасно, но как всегда это не так.
Я беру из их документации пример следующего содержания:
#include <cstdio>
#include <cstdlib>
#include <vector>
#include "interpolation.h" // alglib
int main(int argc, char** argv) {
if(argc<1) {
printf("usage: %s <>\n", argv[0]);
exit(EXIT_FAILURE);
}
std::vector<double> X(5), Y(5);
X[0]=0.1;
X[1]=0.4;
X[2]=1.2;
X[3]=1.8;
X[4]=2.0;
Y[0]=0.1;
Y[1]=0.7;
Y[2]=0.6;
Y[3]=1.1;
Y[4]=0.9;
alglib::real_1d_array AX, AY;
AX.setcontent(X.size(), &(X[0]));
AY.setcontent(Y.size(), &(Y[0]));
alglib::spline1dinterpolant spline;
alglib::spline1dbuildcubic(AX, AY, X.size(), 2,0.0,2,0.0, spline);
//alglib::spline1dbuildcubic(AX, AY, spline);
for(size_t i=0; i<X.size(); i++){
printf("%f %f\n", X[i], Y[i]);
}
printf("\n");
for(int i=-50; i<250; i++){
double x=0.01*i;
printf("%f %f\n", x, alglib::spline1dcalc(spline,x));
}
printf("\n");
return EXIT_SUCCESS;
}
Пытаюсь его откомпилировать выполнив:
g++ example_alglib.cpp
Получаю ошибки:
/tmp/ccAhAImI.o: In function `main':
example_alglib.cpp:(.text+0x1c8): undefined reference to `alglib::real_1d_array::real_1d_array()'
example_alglib.cpp:(.text+0x1d7): undefined reference to `alglib::real_1d_array::real_1d_array()'
example_alglib.cpp:(.text+0x20a): undefined reference to `alglib::real_1d_array::setcontent(int, double const*)'
example_alglib.cpp:(.text+0x23d): undefined reference to `alglib::real_1d_array::setcontent(int, double const*)'
example_alglib.cpp:(.text+0x24c): undefined reference to `alglib::spline1dinterpolant::spline1dinterpolant()'
example_alglib.cpp:(.text+0x28b): undefined reference to `alglib::spline1dbuildcubic(alglib::real_1d_array const&, alglib::real_1d_array const&, int, int, double, int, double, alglib::spline1dinterpolant&)'
example_alglib.cpp:(.text+0x35a): undefined reference to `alglib::spline1dcalc(alglib::spline1dinterpolant const&, double)'
example_alglib.cpp:(.text+0x3a1): undefined reference to `alglib::spline1dinterpolant::~spline1dinterpolant()'
example_alglib.cpp:(.text+0x3b0): undefined reference to `alglib::real_1d_array::~real_1d_array()'
example_alglib.cpp:(.text+0x3bf): undefined reference to `alglib::real_1d_array::~real_1d_array()'
example_alglib.cpp:(.text+0x434): undefined reference to `alglib::spline1dinterpolant::~spline1dinterpolant()'
example_alglib.cpp:(.text+0x447): undefined reference to `alglib::real_1d_array::~real_1d_array()'
example_alglib.cpp:(.text+0x45a): undefined reference to `alglib::real_1d_array::~real_1d_array()'
collect2: error: ld returned 1 exit status
Подскажите как победить эти ошибки? не чего толкового нагуглить не могу.
Собираю:
g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Блин вот магия, разобрался, кароче распаковываем скаченную библиотеку, в папку src кладем свой файл с main функцией, и просто пишем g++ *.cpp -o main и все на выходе бинарник main который работает...
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Не получается подключить поддержку OpenMP в XcodeПри попытке компиляции любого кода появляется ошибка:
В одном решении у меня находятся два приложения: Статическая библиотека и Консольное приложениеСобрал библиотеку, добавил в консольное...