2012-01-19 16 views
5

में लापता अपवाद मैं बूस्ट प्रोसेस इवेंट का उपयोग करना चाहता हूं, हालांकि इसे अभी तक रिलीज़ नहीं किया गया है।बूस्ट प्रोसेस

boost-process/boost/process/operations.hpp: In function ‘std::string boost::process::find_executable_in_path(const string&, std::string)’: 
boost-process/boost/process/operations.hpp:85:36: error: ‘filesystem_error’ is not a member of ‘boost::filesystem3’ 
In file included from boost-process/boost/process.hpp:42:0, 
       from tests/../fio.hpp:22, 
       from tests/t_histogram.cpp:18: 
boost-process/boost/process/operations.hpp:130:32: error: ‘filesystem_error’ is not a member of ‘boost::filesystem3’ 

मैं boost::filesystem3 के लिए, लेकिन एक ही परिणाम के साथ बदल नाम स्थान की कोशिश की: मैं

svn co svn://svn.boost.org/svn/boost/sandbox/process/ boost-process 

जोड़ा boost-process पथ (-I) और #included<boost/process.hpp> शामिल करने के लिए लेकिन संकलन की शिकायत के बारे में filesystem_error परिभाषित नहीं किया जा रहा था।

filesystem_error की defintion

class BOOST_SYMBOL_VISIBLE filesystem_error : public system::system_error 

है BOOST_SYMBOL_VISIBLE छिपा है?

+0

मेरे अनुभव में boost2process के एक नए संस्करण का उपयोग करना बेहतर है, जैसे soc2010: http://www.highscore.de/boost/gsoc2010/process.zip http://www.highscore.de/boost/gsoc2010/ – alfC

उत्तर

2

मैंने अपने g ++ कमांड लाइन पर -DBOOST_FILESYSTEM_VERSION = 2 को पारित करके इसे ठीक किया।/Operations.hpp इस को दूर

+2

बूस्ट फाइल सिस्टम v2 को बहिष्कृत किया गया है और बूस्ट की आगामी रिलीज में गायब होने के लिए निर्धारित है। –

12

आप प्रक्रिया संपादित करने की आवश्यकता करने के लिए:

#include <boost/filesystem/path.hpp> 

और बजाय कहते हैं कि यह:

#include <boost/filesystem/operations.hpp> 

मुझे लगता है कि यह यह बूस्ट फ़ाइल v3 के साथ संगत कर देगा (जो जल्द ही बूस्ट 1.48 के लिए निर्धारित एकमात्र संस्करण होगा)।

+1

बूस्ट 1.52 के साथ Boost.Process का उपयोग करते हुए यह वास्तव में मदद करता है। –

संबंधित मुद्दे