私は最近、boostライブラリを1.63バージョンにアップグレードしました。しかし、機能、boost:filesystem:existsは動作しません。ブーストライブラリ1.54以前はコードが大丈夫でした。代わりに現在はセグメンテーション違反になります。 :boostからのセグメンテーションフォールト(boost:ファイルシステム:あり)
#include <boost/filesystem.hpp>
namespace fs=boost::filesystem;
using namespace std;
int main()
{
fs::path selfpath=fs::system_complete("Testa2.cpp");
cout<<selfpath<<endl;
if(fs::exists(selfpath.c_str()))
cout<<"Never here"<<endl;
、それがでコンパイル:セグメンテーションフォールトで行く
g++ -std=c++11 Testa5.cpp -lboost_filesystem -lboost_system
が、存在します。
どうすれば可能ですか? どうすれば修正できますか?
(私はUbuntuの上でだ) (私はここから後押しinstallated: http://www.linuxfromscratch.org/blfs/view/cvs/general/boost.html)あなたが使用している(Ubuntuの)配布のために構築されていないバイナリをインストールし
のようにブーストをインストールし、あなたの文は、必要があります:FS ::パスselfpathの= fsを:: system_complete(「テスタ:実際には次のように書かれています:fs :: path selfpath = fs :: system_complete( "Testa:"); ??? Boostにはほとんど問題はないはずです。 ? –
@Dr tあなたはrasonを持っています、私は間違っています。今質問を変更します – Umbert
これはオンラインでここで動作します:http://coliru.stacked-crooked.com/a/606b19bec055ba5b(コマンドラインの解析にprogram_optionsを使用) – sehe