問題タブ [boost-filesystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1221 参照

boost-filesystem - ブースト 1.48 filesystem3 シンボル リンク エラー問題

私のプロジェクト設定: /I"..\ANTLR_LIB" /I"..\eNITL" /I"......\boost" /ZI /nologo /W3 /WX- /MP /Od /Oy- /D "WIN32" /D "_D​​EBUG" /D "_CONSOLE" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /D "BOOST_USE_WINDOWS_H" /GF- /Gm- /EHsc /RTC1 /MTd /GS / Gy /fp:正確 /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\PIDL_UnProtect.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gz /wd"4996" /analyze- /errorReport:キュー

リンク ブースト ライブラリ:

boost\bin.v2\libs\system\build\msvc-10.0\debug\link-static\runtime-link-static\threading-multi\libboost_system-vc100-mt-sgd-1_48.lib boost\bin.v2\libs \filesystem\build\msvc-10.0\debug\link-static\runtime-link-static\threading-multi\libboost_filesystem-vc100-mt-sgd-1_48.lib

しかし、このエラーが発生しました。問題は何ですか??

エラー LNK2019: 未解決の外部シンボル "void __stdcall boost::filesystem3::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator > &,class std::codecvt const &) " (?convert@path_traits@filesystem3@boost@@YGXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDH@5@@ Z) 関数で参照されている "void __stdcall boost::filesystem3::path_traits::dispatch,class std::allocator > >(class std::basic_string,class std::allocator > const &,class std::basic_string,class std ::アロケータ > &,class std::codecvt const &)"(??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem3@boost@@YGXABV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@ABV?$ codecvt@_WDH@4@@Z) 3>PIDL.obj : エラー LNK2001: 未解決の外部シンボル "void __stdcall boost::filesystem3::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator > &,class std::codecvt const &)" (?convert@path_traits@filesystem3@boost@@YGXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2 @@std@@ABV?$codecvt@_WDH@5@@Z) 3>Backend.obj: エラー LNK2019: 未解決の外部シンボル "void __stdcall boost::filesystem3::path_traits::convert(wchar_t const *,wchar_t const * ,class std::basic_string,class std::allocator > &,class std::codecvt const &)" (?convert@path_traits@filesystem3@boost@@YGXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV? $codecvt@_WDH@5@@Z) 関数で参照される "public: class std::basic_string,class std::allocator > const __thiscall boost::filesystem3::path::string(class std::codecvt const &)const " (?string@path@filesystem3@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$codecvt@_WDH@5 @@Z) 3>PIDL.obj : エラー LNK2001: 未解決の外部シンボル "void __stdcall boost::filesystem3::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string,class std::allocator > &,class std::codecvt const &)"(?convert@path_traits@filesystem3@boost@@YGXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$codecvt@_WDH@5@@Z ) 3>Backend.obj : エラー LNK2019: 未解決の外部シンボル "private: static class std::codecvt const * & __stdcall boost::filesystem3::path::wchar_t_codecvt_facet(void)" (?wchar_t_codecvt_facet@path@filesystem3@boost@ @CGAAPBV?$codecvt@_WDH@std@@XZ) 関数で参照される「public: static class std::codecvt const & __stdcall boost::filesystem3::path::codecvt(void)」(?codecvt@path@filesystem3@ boost@@SGABV?$codecvt@_WDH@std@@XZ) 3>PIDL.obj: エラー LNK2001: 未解決の外部シンボル "private: static class std::codecvt const * & __stdcall boost::filesystem3::path::wchar_t_codecvt_facet (空所)"(?wchar_t_codecvt_facet@path@filesystem3@boost@@CGAAPBV?$codecvt@_WDH@std@@XZ) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "class boost::filesystem3::file_status __stdcall boost::filesystem3: :detail::status(class boost::filesystem3::path const &,class boost::system::error_code *)" (?status@detail@filesystem3@boost@@YG?AVfile_status@23@ABVpath@23@PAVerror_code @system@3@@Z) 関数 "bool __stdcall boost::filesystem3::exists(class boost::filesystem3::path const &)" で参照 (?exists@filesystem3@boost@@YG_NABVpath@12@@Z) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "bool __stdcall boost::filesystem3::detail::create_directory(class boost::filesystem3::path const &,class boost::system::error_code *)"(?create_directory@detail@filesystem3@boost@@YG_NABVpath@23@PAVerror_code@system@3@@Z) 関数で参照される「bool __stdcall boost::filesystem3::create_directory(class boost::filesystem3::path const &)」 (?create_directory@filesystem3@boost@@YG_NABVpath@12@@Z) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "class boost::filesystem3::path __stdcall boost::filesystem3::detail::initial_path(class boost::system::error_code *)" (?initial_path@detail@filesystem3@boost@@YG?AVpath@23@PAVerror_code@system@3@@Z) 関数で参照される "class boost::filesystem3::path __stdcall boost ::filesystem3::initial_path(void)" (?initial_path@filesystem3@boost@@YG?AVpath@12@XZ) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "bool __stdcall boost::filesystem3::detail: :remove(class boost::filesystem3::path const &,class boost::system::error_code *)" (?remove@detail@filesystem3@boost@@YG_NABVpath@23@PAVerror_code@system@3@@Z) "bool __stdcall boost::filesystem3: :remove(class boost::filesystem3::path const &)" (?remove@filesystem3@boost@@YG_NABVpath@12@@Z) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "void __stdcall boost::filesystem3 ::detail::directory_iterator_construct(class boost::filesystem3::directory_iterator &,class boost::filesystem3::path const &,class boost::system::error_code *)" (?directory_iterator_construct@detail@filesystem3@boost@@ YGXAAVdirectory_iterator@23@ABVpath@23@PAVerror_code@system@3@@Z) 関数で参照される "public: __thiscall boost::filesystem3::directory_iterator::directory_iterator(class boost::filesystem3::path const &)"(??0directory_iterator@filesystem3@boost@@QAE@ABVpath@12@@Z) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "void __stdcall boost::filesystem3::detail::directory_iterator_increment(class boost::filesystem3 ::directory_iterator &,class boost::system::error_code *)" (?directory_iterator_increment@detail@filesystem3@boost@@YGXAAVdirectory_iterator@23@PAVerror_code@system@3@@Z) "private: void __thiscall boost: :filesystem3::directory_iterator::increment(void)" (?increment@directory_iterator@filesystem3@boost@@AAEXXZ) 3>PIDL.obj: エラー LNK2019: 未解決の外部シンボル "class boost::system::error_code __stdcall boost:: filesystem3::detail::dir_itr_close(void * &)" (?dir_itr_close@detail@filesystem3@boost@@YG?AVerror_code@system@3@AAPAX@Z) は関数 "public:__thiscall boost::filesystem3::detail::dir_itr_imp::~dir_itr_imp(void)" (??1dir_itr_imp@detail@filesystem3@boost@@QAE@XZ) 3>stdafx.obj: エラー LNK2019: 未解決の外部シンボル "class boost ::system::error_category const & __stdcall boost::system::generic_category(void)" (?generic_category@system@boost@@YGABVerror_category@12@XZ) 関数で参照される "void __cdecl boost::system::dynamic initializer for 'posix_category''(void)" (??__Eposix_category@system@boost@@YAXXZ) 3>stdafx.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __stdcall boost::system::system_category(void)" (?system_category@system@boost@@YGABVerror_category@12@XZ) referenced in function "void __cdecl boost::system::'native_ecat''(void) の動的初期化子" (??__Enative_ecat@system@boost@@YAXXZ)

0 投票する
2 に答える
2394 参照

c++ - ブースト プロセスで例外が見つからない

Boost Processがまだリリースされていませんが、Boost Processを使用したいです。やった

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

名前空間をに変更しようとしましboost::filesystem3たが、同じ結果になりました。

の定義filesystem_error

BOOST_SYMBOL_VISIBLE隠してる?

0 投票する
2 に答える
2637 参照

c++ - qtテンプレートを使用する場合の未解決の外部?

こんにちは、Visual Studio 2010 を使用しています。Qt のアドインを追加し、最後のブースト パッケージを手動でビルドしました。今、私は新しいプロジェクト、qt ウィンドウ アプリケーションを開始しました。

そこで私は次のコードを使用しました:

ただし、これは失敗するようです..まったく同じコードを使用するが、代わりにqtテンプレートを使用しない場合は機能します。正確なエラーは次のとおりです。

明らかな設定を調べてみました。ただし、プロジェクトのプロパティでは、ブースト ライブラリ ディレクトリは依然として VC++ ディレクトリ -> ライブラリ ディレクトリの下にあります。

これは何が原因ですか?これを解決するにはどうすればよいですか?

0 投票する
1 に答える
3348 参照

c++ - ブーストファイルシステムの完全な置き換え

私の古いブーストコード:

新しいBoostバージョンでは、これはでのみコンパイルされ#define BOOST_FILESYSTEM_VERSION 2ます。complete新しいBoostバージョンの置き換えとは何ですか?

0 投票する
1 に答える
390 参照

c++ - ブーストファイルシステム3パス包含チェック

私はブーストファイルシステムライブラリを使用しており、2つのパスがあるので、path1がpath2の子であるかどうかをチェックする洗練された方法があるかどうかを知る必要があります(例:path1 = / usr / local、path2 = / usr)。文字列関数を使用してこれを行うことはできますが、ブーストファイルシステム関数を使用する方法があるかどうか疑問に思いました。パスイテレータを使用してこれを行うことができますが、それが唯一の方法ですか?このチェックを行うヘルパー関数はありますか?ドキュメントを検索しましたが、何も見つかりませんでした。ありがとう

0 投票する
1 に答える
2936 参照

c++ - Boost パス イテレータを文字列に変換できません

nmdependから次のコードを取得してコンパイルしようとしています

ただし、次のコンパイラ エラーが生成されます

文字列が返され、イテレータを使用して試行されている操作が維持されるようにするには、このコードをどのように変更する必要がありますか?

0 投票する
2 に答える
2354 参照

xcode - XCode 3.2 (MacPorts) で Boost ファイルシステムをリンクする

私は XCode 3.2 を使用しており、MacPorts プロジェクト (リリースとデバッグの両方) を使用してブーストをインストールしましたが、アプリケーションを boost::filesystem とリンクさせるのに途方に暮れています

ライブラリ検索パスを /opt/local/lib に設定しましたが、プロジェクトをリンクするときにまだ未解決の参照が表示されます。

別の投稿で -lboost_system を「その他のリンカー フラグ」に追加することに気付きましたが、これを行うと libboost_system.dylib, file was built for unsupported file format which is not the architecture being linked (i386) が表示されます。

MacPorts は適切なライブラリをインストールしていませんか、それとも他に何か不足していますか?

マーティン

0 投票する
2 に答える
12273 参照

c++ - c++ブーストライブラリでファイルパーミッションを取得するには?

現在のディレクトリにあるファイルのデータベースを作成するプロジェクトに取り組んでいます。そして、自分のファイルについて必要な詳細の 1 つは、ubuntu の chmod で設定されているファイルのアクセス許可です。(メモ: chown のように、グループと所有者の情報も必要になります。Boost が所有権情報も取得できるかどうかを教えていただければ幸いです。)

ブースト ファイルシステム ライブラリを使用しており、ドキュメントを何度も確認しましたが、アクセス許可を取得する方法が見つかりませんでした。

このページではenum perms、自分の filesystem.hpp に表示されないファイル許可文字列があることを示しています。(そして、念のためにソースからビルドされた 1.49 バージョンがあることを確認しました)。また、ここの同じページでは、次のような権限を取得できることが示されています。

パーミッション機能も、perms リストを保存する場所も見つかりませんでした。

これは私がこれまでに持っているコードです (実際にはブースト チュートリアルからのものですが、再帰的に変更しました)。ファイルのアクセス許可/所有権を取得する方法や、ブースト以外のライブラリを提案する方法を教えていただければ幸いです。

編集: ethan_liou が提案したように s.permissions() を追加しましたが、出力は期待どおりではありませんでした。更新されたコードと出力は次のとおりです。

出力:

注: これらの数値は27746424350、プログラムが実行されるたびに変わります。

0 投票する
2 に答える
4175 参照

c++ - Boost.Filesystem を使用しようとしていますが、リンクしていないように見えますか?

OS X 10.7.3 を使用しています。私はしばらくブースト ヘッダーをいじっていましたが、Boost.Filesystem lib の使用に移りたいと思っていましたが、次のメッセージが表示され続けています。

これを使用してコンパイルしようとすると、次のようになります。

それで、boost.org のチュートリアルに戻って、正規表現の例を試してみました。これを使用して完全に機能しました:

0 投票する
1 に答える
1964 参照

c++ - boost :: filesystem :: last_write_timeを正常に実行するには、どの権限が必要ですか?

この単純なコード:

directoryコードを実行しているユーザー以外のユーザーが所有するパスの場合、「操作は許可されていません」という例外をスローします。

777またはパーミッションを持つディレクトリを扱っているので、これには少し混乱しています。シェルでrwxrwxrwx使用することで、変更時間を簡単に変更できます。touch

私は何かが足りないのですか?Boostは必要以上の権限を要求していますか?これを修正する方法はありますか?

Boostの関連コードは次のとおりです。