リンクエラーについて

[戻る]
源さん 2006/01/10(火) 18:53:31
初心者なのですがビルド時に以下のようなエラーメッセージが出るのですが、解決方法をお教え
ください。
LINK : fatal error LNK1104: ファイル "ab_lib.obj" を開けません。
link.exe の実行エラー

KING・王 2006/01/10(火) 19:02:10
恐らくメッセージのとおりなのですが、
ab_lib.objというファイルは存在しますか?

とりあえず、リビルドしてみてください。

源さん 2006/01/10(火) 19:10:59
返信ありがとうございます。
ab_lib.objというファイルが存在しないです。存在しないので「開けない」エラーがでるのは
解かるのですが、なぜobjファイルが必要なのですか?

Ban 2006/01/10(火) 20:02:33
プロジェクトのどこかに、そのファイルが必要と登録されているからでしょう。
他には、同名のC/CPPファイル等が登録され、ビルドに失敗してるとか、
ライブラリが不完全/不整合状態だとか。

本当に不要なファイルならgrep等で探して
プロジェクトから消せばいいでしょう。

ただし自分が意識していないだけで、
実は必要なファイルということもありえますから、
事前のバックアップを推奨します。

Blue 2006/01/11(水) 01:04:42
一応、Makefileをエクスポートしてみると、
どのようにして.objがつくられ、削除されるかがわかるかと。

でも、リビルドすれば.obj等は削除され、ビルドされると思うんだけどなぁ。

Ban 2006/01/11(水) 09:08:10
> でも、リビルドすれば.obj等は削除され、ビルドされると思うんだけどなぁ。

本当の名前はわかりませんが、「lib」って入ってるのが曲者だったり?
バイナリ提供のobjだけが直接プロジェクトに登録されてたり、
別ディレクトリ参照してたりしててもおかしくなさそうな気が...。

PATIO 2006/01/12(木) 09:55:24
リンカは指定されたファイルをリンク対象にして探しにいっているだけなので
リンカにこれもリンクしてくれと指示している所為でしょう。
プロジェクトの設定で指示されている場合とヘッダファイルに#pragmaで埋め込まれている
などがありえると思います。
本当に必要なものであれば、環境の構築がうまくいっていないのかもしれません。
使っているライブラリ等があれば、使い方や環境設定の仕方を確認した方がいいかも。

古いスレッドには追加発言できません。