2012-01-19 15 views
5

まだリリースされていないのに、ブーストプロセスイベントを使用したいと思います。私はブーストプロセスで例外が見つからない

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

はパス(-I)と#included<boost/process.hpp>を含めるようにboost-processを追加しましたが、コンパイルさは約filesystem_error定義されていないと文句を言う:

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にも同様の結果が得られた名前空間を変更してみました。

filesystem_errorのdefintionは

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> 

、代わりにこの言う:私はこれがどの(ブーストファイルシステムV3と互換性を持たせるだろうと思い

#include <boost/filesystem/operations.hpp> 

をあなたはこれを削除するには、プロセス/ operations.hppを編集する必要があり

+2

Boost Filesystem v2は廃止予定で、今後のBoostのリリースでは廃止予定です。 –

12

Boost 1.48で予定されている唯一のバージョンとなります)。

+1

Boost.ProcessをBoost 1.52で使用している場合、これは実際に役立ちます。 –

関連する問題