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 

경로 ( -I)와 #included <boost/process.hpp>를 포함 boost-process을 추가했지만 컴파일에 대한 filesystem_error 정의되지 불평했다.

filesystem_error의 (고화질)는

class BOOST_SYMBOL_VISIBLE filesystem_error : public system::system_error 

BOOST_SYMBOL_VISIBLE가 숨어있다?

+0

내 경험에 비추어 볼 때 soc2010과 같은 새로운 버전의 boost.process를 사용하는 것이 더 좋습니다. http://www.highscore.de/boost/gsoc2010/process.zip http://www.highscore.de/boost/gsoc2010/ – alfC

답변

2

내 g ++ 명령 줄에서 -DBOOST_FILESYSTEM_VERSION = 2를 전달하여이 문제를 해결했습니다. 이 말을 대신

#include <boost/filesystem/path.hpp> 

을 그리고 :

+2

Boost Filesystem v2는 향후 제공 될 Boost 릴리스에서 더 이상 사용되지 않으며 사라질 예정입니다. –

12

당신은 과정을 편집해야/operations.hpp이를 제거하는 난이 부스트 파일 시스템 V3와 호환 할 것이라고 생각

#include <boost/filesystem/operations.hpp> 

(이 곧 Boost 1.48로 예정된 유일한 버전이 될 것입니다.)

+1

Boost.Process를 Boost 1.52와 함께 사용하면 실제로 도움이됩니다. –

관련 문제