Nie mogę skompilować basic boost vector example. Jestem na Windows 10, a ja używam wersji 01., bez git. Ta wersja zawiera GCC 7.10 i Boost 1.64. Rozpakowałem MinGw i umieściłem go w katalogu głównym mojego systemu plików i postępuję zgodnie z instrukcją A dotyczącą korzystania z MinGW, aby uruchomić set_distro_paths.bat. Poniżej znajduje się kod, który nie udaje się zbudować w moim systemie:error: 'make_array' nie jest członkiem 'boost :: serializacja
wektor-fail.cpp:
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
int main() {
using namespace boost::numeric::ublas;
vector<double> v (3);
for (unsigned i = 0; i < v.size(); ++ i)
v (i) = i;
std::cout << v << std::endl;
}
Makefile:
vector-fail: vector-fail.o
g++ vector-fail.o -o vector-fail
vector-fail.o: vector-fail.cpp
g++ -c vector-fail.cpp -o vector-fail.o
wyjściowe:
g++ -c vector-fail.cpp -o vector-fail.o
In file included from C:\MinGW\include/boost/numeric/ublas/vector.hpp:21:0,
from vector-fail.cpp:1:
C:\MinGW\include/boost/numeric/ublas/storage.hpp: In member function 'void
boost::numeric::ublas::unbounded_array<T, ALLOC>::serialize(Archive&, unsigned int)':
C:\MinGW\include/boost/numeric/ublas/storage.hpp:299:33: error: 'make_array' is not a member of 'boost::serialization'
ar & serialization::make_array(data_, s);
^~~~~~~~~~
C:\MinGW\include/boost/numeric/ublas/storage.hpp:299:33: note: suggested alternative: 'make_nvp'
ar & serialization::make_array(data_, s);
^~~~~~~~~~
make_nvp
C:\MinGW\include/boost/numeric/ublas/storage.hpp: In member function 'void boost::numeric::ublas::bounded_array<T, N, ALLOC>::serialize(Archive&, unsigned int)':
C:\MinGW\include/boost/numeric/ublas/storage.hpp:494:33: error: 'make_array' is not a member of 'boost::serialization'
ar & serialization::make_array(data_, s);
^~~~~~~~~~
C:\MinGW\include/boost/numeric/ublas/storage.hpp:494:33: note: suggested alternative: 'make_nvp'
ar & serialization::make_array(data_, s);
^~~~~~~~~~
make_nvp
make: *** [Makefile:5: vector-fail.o] Error 1
Niestety żaden z tych błędów nie pojawia się w moim kodzie, a raczej są spowodowane plikami w plikach włączających w ramach boostu l ibrary się. Jakie zmiany można wprowadzić w kodzie poziomu aplikacji lub Makefile, aby umożliwić programowi kompilację?
Jak zainstalowałeś boost? –