こんにちは。
現在boost::filesystemについて勉強しているのですが、サンプルプログラムを用いてコンパイルをしようとするとエラーが発生します。
OSは、Mac OS Xで、boostは1.46.1です。
インストール(bjamなど)は、完了しているはずです(できてなかったらごめんなさい)
g++ test.cpp
でコンパイルしようとすると以下のエラーメッセージが表示されます。
Undefined symbols:
"boost::system::generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccv6DmNs.o
__static_initialization_and_destruction_0(int, int)in ccv6DmNs.o
"boost::system::system_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccv6DmNs.o
"boost::filesystem3::detail::file_size(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
boost::filesystem3::file_size(boost::filesystem3::path const&)in ccv6DmNs.o
"boost::filesystem3::path::wchar_t_codecvt_facet()", referenced from:
boost::filesystem3::path::codecvt() in ccv6DmNs.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
また、上記のエラーの一部を検索をかけて調べたところ
g++ -lboost_system-mt -lboost_filesystem-mt test.cpp
とコンパイルすればできると書かれていたのですが、
ld: library not found for -lboost_system-mt
collect2: ld returned 1 exit status
と表示されて、コンパイルできませんでした。
どうすればいいのかわからないので、教えて下さい。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
boostは、どんな方法でどこにインストールしましたか?
-lboost_system-mt は libboost_system-mt.a をリンクしようとします。インストールしたディレクトリの下の方に libboost_system-mt.a があるのではないでしょうか。そのディレクトリを-Lで指定するようにするとどうでしょうか。
この回答への補足
回答ありがとうございます。
boostは、boostのHPからダウンロードし、それを
./bootstrap.sh
./bjam
を実行しました。
場所は、boostという名のフォルダを作成して、その中に入れました。
確認したところ、libboost_system.aというのがありました。
ディレクトリを-Lで指定する方法も教えていただけるとありがたいです。
お手数ですが、よろしくおねがいします。
いろいろありがとうございました。
いくつか試してみたところ、libboost_system.aというのが存在し、mtというのがなかったので
コンパイル時にも、mtを省いたらコンパイルすることが出来ました。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Instagram Meta platform inc というところからの請求について詳しい方教えてください! Inst 1 2022/10/25 20:26
- PHP php エラー 2 2022/10/23 16:43
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 英語 下記の英文の日本語訳をお願いします。 1 2023/03/02 10:01
- 英語 下記の英文を日本語に訳して、その意味を教えてください。 1 2023/03/09 14:13
- その他(パソコン・スマホ・電化製品) Windows11の記憶域不足 4 2022/09/05 17:58
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
<math.h>ヘッダを入力している...
-
共有ライブラリの内容確認について
-
math.hに含まれる関数が使えない
-
MVSマシンで0C7でABENDしたので...
-
実行後にコンパイルに失敗しま...
-
プレコンパイルの意味を教えて...
-
C言語で作ったらWindowsでもMac...
-
Verilog_HDLでのdefineとifdef
-
EXEファイルの逆コンパイル
-
CLRアプリと通常のアプリとの違い
-
「逆コンパイル」ってできるん...
-
C言語で作ったプログラムを他の...
-
[COBOL] ソースの復帰
-
WindowsでのC と LinuxでのC...
-
gcc コンパイル killed
-
latex cite, ref
-
VS2010環境で2点ほど質問
-
C言語のグローバル変数の初期...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
math.hに含まれる関数が使えない
-
実行後にコンパイルに失敗しま...
-
c言語です コンパイルした時に...
-
ビープ音が鳴りません・・・
-
共有ライブラリの内容確認について
-
C言語をコンパイルするとコンピ...
-
すべてのリビルド: 0 正常、 0 ...
-
Verilog_HDLでのdefineとifdef
-
C#で char型とstring型の比較で...
-
64ビットのlinuxで32ビットメモ...
-
gcc コンパイル killed
-
#If True Then の # って何??
-
プレコンパイルの意味を教えて...
-
[COBOL] ソースの復帰
-
<math.h>ヘッダを入力している...
-
C言語で作ったらWindowsでもMac...
-
ヘッダーファイル『windows.h』...
-
define文のパラメータを実行時...
おすすめ情報