GCCでboostをリンクできずに困っています

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぱるぱる

GCCでboostをリンクできずに困っています

#1

投稿記事 by ぱるぱる » 14年前

複数の.oファイルから実行ファイルを作りたいのですが、
boost::filesystemをリンクできずに困っています。
boostはver1.41で、Makefileは次のように書いています。

コード:

# Makefile

#output file
ArchiveSystem.out:Util.o Rand.o LoadFile.o SaveFile.o ArchiveSave.h ArchiveLoad.h
        g++ Main.cpp -o ArchiveSystem.out Util.o Rand.o LoadFile.o SaveFile.o ArchiveSave.h ArchiveLoad.h

# object file
Util.o:Util.cpp Util.h
        g++ -c Util.cpp -o Util.o
Rand.o:Rand.cpp Rand.h
        g++ -c Rand.cpp -o Rand.o
LoadFile.o:LoadFile.cpp Util.h Rand.h ArchiveLoad.h
        g++ -c LoadFile.cpp -o LoadFile.o
SaveFile.o:SaveFile.cpp Util.h Rand.h ArchiveSave.h
        g++ -c  SaveFile.cpp -llibboost_system-mt.so -llibboost_filesystem-mt.so -o SaveFile.o
#Main.o:Main.cpp ArchiveSave.h ArchiveLoad.h
#       g++ -c Main.cpp -o Main.o

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: GCCでboostをリンクできずに困っています

#2

投稿記事 by h2so5 » 14年前

-c オプションが付いているとコンパイルのみでリンクをしないので、
このコマンドの -l オプションは意味が無いです。

g++ -c SaveFile.cpp -llibboost_system-mt.so -llibboost_filesystem-mt.so -o SaveFile.o

ぱるぱる

Re: GCCでboostをリンクできずに困っています

#3

投稿記事 by ぱるぱる » 14年前

-cオプションはリンクしないんですね、知りませんでした。
g++ -c SaveFile.cpp -llibboost_system-mt.so -llibboost_filesystem-mt.so -o SaveFile.o

g++ -c SaveFile.cpp -o SaveFile.o
として、実行ファイル生成時に-lboost_system -lboost_filesystemを付け足すことで解決しました。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る