2017-06-14 23 views
5

basic boost vector example'u derleyemiyorum. Windows 10 kullanıyorum ve git dahil olmaksızın nuwen MinGW distro sürüm 15.0 kullanıyorum. Bu sürüm GCC 7.10 ve Yükseltme 1.64 içerir. MinGw paketini açtım ve dosya sistemimin köküne yerleştirdim ve set_distro_paths.bat komutunu çalıştırmak için MinGW kullanım talimatını A takip ediyorum.hatası: 'make_array', 'boost :: serialization' in bir üyesi değil

vektör 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 

Çıktı: Maalesef

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 

Aşağıda benim sistem üzerine inşa etmekte başarısız olduğunu koddur Bu hataların hiçbiri kodumun içinde yer almıyor, bunun yerine dosyalar içerisindeki dosyaların l İblis kendini. Uygulama düzeyinde kodda veya Makefile'de programın derlenmesine izin vermesi için ne gibi değişiklikler yapılabilir?

+0

Yükseltmeyi nasıl yüklediniz? –

cevap

6

Evet, bu ublas üstbilgileriyle ilgili bir sorundur. Daha önce ona rastladım. Bu noktadan önce

#include <boost/serialization/array_wrapper.hpp> 

'u da dahil ederek geçici çözümler yapabilirsiniz. Ublas kodunun bakıcılarına rapor etmeyi düşünürdüm.

+0

Bu işe yarıyor! Ancak, yalnızca vektör için eklemeden önce array_wrapper için eklediğinizde. – user1509669

+0

onun 2017 ve hala hiçbir düzeltme? – Knowledge

+2

@Knowledge Bilgileriniz için Haziran ayında da 2017 oldu. – sehe

İlgili konular