2016-04-07 4 views
1

Boost :: process library dosyasını dahil etmeye çalışırken, boost :: process pipe.hpp dosyasına ilişkin 2 hatayla karşılaşıyorsunuz. İşte boost :: boost :: throw_exception nedeniyle derleme yapılamıyor ::

'<function-style-cast>': cannot convert from 'initializer list' to 'boost::system::system_error' | pipe.hpp | line 129 
'boost::throw_exception': no matching overloaded function found | pipe.hpp | line 129 

kusurlu işlem pipe.hpp :: artırımı çizgidir: Ben boost o istisnalar nasıl işleyeceğini değişti ve artırmak olabilir nasıl bu bir ilgisi olduğunu sanıyoruz

boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreatePipe failed")); 

:: süreç bunu desteklemek için güncellenmiyor, ancak desteklemenin nasıl değiştiğini bilmiyorum. Tüm pipe.hpp dosyası, bunun gibi istisnalar atar ancak tanımayan tanımlayıcıların arkasında olduğu gibi hataların içinde görünmezler.

cevap

4

boost::system::system_category yerine boost::system::system_category() kullanın. İkincisinin eski boost versiyonlarında çalışmış olabileceğini unutmayın. Bakınız here.

1

Projenizi istisnai destek ile yeniden oluşturabilirsiniz. Derleme bayrağı ekle/EHsc veya/EHa veya/EHs