初心者なのですがビルド時に以下のようなエラーメッセージが出るのですが、解決方法をお教え
ください。
LINK : fatal error LNK1104: ファイル ab_lib.obj を開けません。
link.exe の実行エラー
恐らくメッセージのとおりなのですが、
ab_lib.objというファイルは存在しますか?
とりあえず、リビルドしてみてください。
返信ありがとうございます。
ab_lib.objというファイルが存在しないです。存在しないので「開けない」エラーがでるのは
解かるのですが、なぜobjファイルが必要なのですか?
プロジェクトのどこかに、そのファイルが必要と登録されているからでしょう。
他には、同名のC/CPPファイル等が登録され、ビルドに失敗してるとか、
ライブラリが不完全/不整合状態だとか。
本当に不要なファイルならgrep等で探して
プロジェクトから消せばいいでしょう。
ただし自分が意識していないだけで、
実は必要なファイルということもありえますから、
事前のバックアップを推奨します。
一応、Makefileをエクスポートしてみると、
どのようにして.objがつくられ、削除されるかがわかるかと。
でも、リビルドすれば.obj等は削除され、ビルドされると思うんだけどなぁ。
> でも、リビルドすれば.obj等は削除され、ビルドされると思うんだけどなぁ。
本当の名前はわかりませんが、「lib」って入ってるのが曲者だったり?
バイナリ提供のobjだけが直接プロジェクトに登録されてたり、
別ディレクトリ参照してたりしててもおかしくなさそうな気が...。
リンカは指定されたファイルをリンク対象にして探しにいっているだけなので
リンカにこれもリンクしてくれと指示している所為でしょう。
プロジェクトの設定で指示されている場合とヘッダファイルに#pragmaで埋め込まれている
などがありえると思います。
本当に必要なものであれば、環境の構築がうまくいっていないのかもしれません。
使っているライブラリ等があれば、使い方や環境設定の仕方を確認した方がいいかも。