• 締切済み
  • 困ってます

LINK : fatal error LNK1104について

初心者です。 Microsoft Visual C++ 2008 Express EditionでC++の勉強を始めました。 しかし 「LINK : fatal error LNK1104: ファイル 'C:\DOCUME~1\○○' を開くことができません。」(○○は私の名前です) と表示され、exeファイルが生成されません。オブジェクトファイルはできているみたいです。 いろいろと調べてはみたんですが、環境設定の問題でしょうか?わかりません。 解決方法教えてください!

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数21112
  • ありがとう数6

みんなの回答

  • 回答No.3

Visual Studio側でターゲットのライブラリが存在するディレクトリを指定していないのでは。 名前の短いディレクトリに当該のライブラリを置いて#pragma commentでリンクしてみます。 これでも駄目ならターゲットが壊れているか、プロジェクトファイルが壊れているかを疑います。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • LINK : fatal error LNK1104: コンパイラは、ファイル 'DxErr9.lib' を開くことができません。

    使用ソフトはvisual c++.netで DIRECTXの雑誌に付録していたファイルを使って、 ビルドしてみたのですが、 LINK : fatal error LNK1104: コンパイラは、ファイル 'DxErr9.lib' を開くことができません。 っと表示され、EXEファイルが生成されませんでした。 ライブラリファイルにちゃんと登録して、 リンカの依存する関係にも登録したのになぜ? ちなみにライブラリファイルにはちゃんと dxerr9.libはありました。

  • 【VC++】LINK:fatal error

    VC++初心者です。 VisualC++を始めようと思い、インストールし、 Windowsフォームアプリケーションを作成したのですが、 なぜかクリックイベントを追加した途端、 ビルド時に 「LINK : fatal error LNK1104: ファイル '実行するはずのexeファイルのパス' を開くことができません」 と表示され終了してしまいます。 同じエラー番号の質問を見つけて、 Linker Tools Error LNK1104の確認し、 exeファイルが一応できていてクリックすると 「指定されたデバイス、パス、またはファイルにアクセス できません。アクセス許可が無い可能性があります。」 と表示されるので、恐らくアクセス権限が無いのでは ないかという推測はしたのですが、 どのようにアクセス権限を付与すれば良いのかが 分からず困っております。 それともそもそも違う原因なのでしょうか? 環境はWindows Vista + VisualC++2008 Express Editionです。 ごく基本的な質問になっているかもしれませんが、 ご教授いただければ幸いです。

  • Fortranについて,fatal error LNK1181

    Fortranをインストールしてプログラムをコンパイルしようとすると,以下のエラーが出ます. LINK : fatal error LNK1181: cannot open input file "C:\DOCUME~1\dfor.lib" 正常に作動させるにはどうしたらいいでしょうか.何か足らないものがあるのでしょうか.以下のフォルダに, インストールCDに入っているLIBファイルをすべてコピペしてみたのですが,変わりなしです. C:\Program Files\Microsoft Visual Studio\DF98\LIB OSはXP,今回インストールをしたFortran及びプログラム作成をしたFortranは,共にVisual Fortran 6.0です.何か打開策があれば助言お願いします.

  • 回答No.2

私も同じエラーに遭遇したことがあります。 私の場合、書き上げたプログラムを「デバックなしで開始」などで実行した場合、質問文にあるエラーが表示されました。 原因としては、いちいちコンパイル後に表示されるコマンドプロンプトを終了してから、プログラムの加筆・修正をしなかったことが原因のようでした。 ある程度プログラムを書いた後、「デバックなしで開始」などのコマンドでプログラムの動作チェックをすると思います。このコマンドを実行すると作ったプログラムのコンパイルが行われ、 問題がなければそのプログラムがコマンドプロンプトで実行されますよね。そうやって動作を確認した後は、プログラムに加筆・修正を加えてもう一回「デバックなしで開始」でコンパイルし、動作チェックという流れでプログラムを書いていくと思います。 この動作チェックを、コマンドプロンプトで行った後に、コマンドプロンプトのウィンドウを閉じず、プログラムに対して加筆・修正しもう一度「デバックなしで開始」を行おうとすると、 質問分にあるエラーが発生するみたいです。 言おうとしていることがきちんと伝わっているか自信がありませんが、私の場合はエラーの原因はこのようなものでした。 的外れな回答でしたらすいません。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

「コマンドプロンプト」を起動したら C:\Documents and Settings\○○ △△\>_ ←「_」が点滅 って画面になりませんか? そして「○○」と「△△」の間に、半角スペースが1つ入ってませんか? リンカが上記のフォルダで作業する場合「Documents and Settings」と言うフォルダは「半角スペースを含む長い名前」なので、問題が起きないよう「DOCUME~1」と言う「短いDOS名」に変換されます。 こうしないと、リンカは「スペースをパラメータの区切りだと思う」ので「C:\Documents and Settings\LogOnName\vc6\project\debug\test.exe」と言うファイルを作れと指定された時に「C:\Documents」「and」「Settings\LogOnName\vc6\project\debug\test.exe」の3つのファイルが指定されたと勘違いします。 このままでは「C:\Documents」は存在しないので LINK : fatal error LNK1104: ファイル 'C:\Documents' を開くことができません。 などのエラーを出してしまう事になります。 これでは困るので「C:\Documents and Settings\LogOnName\vc6\project\debug\test.exe」は「C:\DOCUME~1\LogOnName\vc6\project\debug\test.exe」などのように、フォルダ名に半角スペースが含まれないように変換します。 しかし、ログオン名が「○○ △△」のように「半角スペースを含む場合」までは想定していない為「C:\Documents and Settings\○○ △△\vc6\project\debug\test.exe」を「C:\DOCUME~1\○○ △△\vc6\project\debug\test.exe」に変換はしますが「○○ △△」の部分を処理しません。 すると、リンカは、与えられたファイル名を半角スペースで区切って「C:\DOCUME~1\○○」と「△△\vc6\project\debug\test.exe」に分離してしまいます。 そして「C:\DOCUME~1\○○」と「△△\vc6\project\debug\test.exe」の2つのファイルを開こうとして LINK : fatal error LNK1104: ファイル 'C:\DOCUME~1\○○' を開くことができません。 などのエラーを出してしまう事になります。 実行ファイルを作成する「作業用フォルダ」を C:\Documents and Settings\○○ △△\vc6\project\debug\ などの個人フォルダ配下ではなく C:\c_test\project\debug\ などの「フォルダ名に半角スペースを含まないフォルダ」にしましょう。 場合によっては、コンパイラ、ライブラリ、リンカのインストールをやり直ししなければなりません。

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございます!! ご指摘の通り、コマンドプロンプトを開くと自分の姓と名の間にスペースが入ってます。 なぜエラーが起きてしまうのか、とてもよく理解できました。 実行ファイルを作成する「作業用フォルダ」はC:\c_langという感じで個人フォルダ配下にはないんですが、それでもやっぱり同じエラーが出てしまいます・・・。 あと、コマンドプロンプトはVisual C++ のツールの中のショ-トカットから使ってます。 Visual C++ 2008 Express Editionのインストール方法が悪いのでしょうか?う~ん・・

関連するQ&A

  • LINK : fatal error LNK1104: ファイル 'C:\DOCUME~1\鈴木' を開くことができません。

    データセットをしようとすると XSD を使用して DataSet クラスを作成しています... fatal error LNK1104: ファイル 'C:\DOCUME~1\鈴木'を開くことができません。 というようなエラーが出てしまいます。 どのようにすればエラーがなくなるのか教えてください。

  • fatal error LNK1104: ファイル 'msvcirtd.lib' を開くことができません。

    プログラミングも初心者で、このように質問することも初めてですが、よろしくお願いします。 directshowのプログラミングを勉強しようと考え以下のサイトhttp://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/directshow.html#choasa_com を参考に、最初のサンプルプログラムをコンパイルしたところ、いくつかエラーがでてきました。 #include <iostream.h>を#include <iostream>に、 return 0 を削除したりして、対処しましたが、 「fatal error LNK1104: ファイル 'msvcirtd.lib' を開くことができません。」 というエラーが解決できません。解決方法を教えていただけないでしょうか。 Visual C++ 2005 ExpressEditionでプログラムを作りました。よろしくお願いします。

  • fatal error LNK1112

    ビルドをすると以下のようなエラーがでてきてしまいます。 「fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 いろいろ検索してみたのですが、解決方法がわかりません。 因みに、64bitでコンパイルしたいです。 力になってもらえるとうれしいです、よろしくお願いします。 既に試した方法を書きます。 1.ttp://triple-tiara.blog.ocn.ne.jp/memo/2010/03/visualstudio200.html   に書かれている、「vcvarsamd64.bat」を叩いてビルド。   残念ながら効果なしでした。 2.様々な所に書かれている「対象コンピュータを MachineX86 (/MACHINE:X86) に変更」。   「fatal error LNK1112: モジュールのコンピュータの種類 'x64' は対象コンピュータの種類 'X86' と競合しています。」   と、新しいエラーがでてきます。   どちらのエラーも出るということは、32bitと64bitの両方を持っているのかな・・・ 【環境】下記の通りです Windows7 64bit Microsoft Visual Studio 2008  言語は「C++」と「CUDA」

  • C++での質問です。

    C++での質問です。 http://homepage2.nifty.com/c_lang/index_sdk.html ここを見ながら勉強しようと思うのですが、イントロダクションに書いてあるプログラムをそのままVisual C++ 2010Expressでデバッグでビルドしようとしてもうまく行かず、 1>LINK : error LNK2001: 外部シンボル "_WinMainCRTStartup" は未解決です。 1>C:\Users\(中略).exe : fatal error LNK1120: 外部参照 1 が未解決です。 と出ます。 リリースだとエラーは吐かないのですが、リリースフォルダ内にexeファイルが生成されず、やっぱり起動できませんでした。 Visual C++ 2010Expressはインストールしてほぼそのままなんですが、何かやっておかないといけないことはあるんでしょうか?

  • fatal error LNK1112

    fatal error LNK1112: モジュールのコンピューターの種類 'X86' は対象コンピューターの種類 'x64' と競合しています。 というエラーが出てコンパイルが出来ないのですが、どうすればコンパイル出来るでしょうか 当方の環境は以下のとおりです win7 64bit VC++ 2010 Express

  • LNK2005

    Visual C++ Version5.0を使っています。 OSはWindows XPです。 translator.cpp parser.cpp scanner.h という三つのファイルをビルドしようとすると translator.obj : error LNK2005: "int error_flag" (?error_flag@@3HA) は すでに parser.obj で定義されています というエラーがそれぞれの変数ごとに20個出て、最後に ebug/COSC47101.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました link.exe の実行エラー と表示されます。それらの変数はすべて"scanner.h"で定義されており、 二つの.cppファイルがincludeしているのが原因だということは分かっています。 しかし、どうやって解決すればよいのでしょうか? 過去ログを参考にして二つの.cppファイルの中で #if !defined(HOGE_X) #define HOGE_X #endif //include files #include "scanner.h" とやっても全然駄目です。 どうか解決するまで手取り足取り教えてください。 お願いします。m(__)m

  • C++プログラミング、エラーメッセージについて

    私、「ロベールのC++入門」を、「Microsoft Visual C++2010Express」を利用して独習中のビギナーです。このほど以下の様なエラーメッセージでビルド出来ず先に進めなくなりました。 「LINK:fatal error LNK1123 : COFFへの変換中に障害が生じました:ファイルが無効であるか、または壊れています」 これは、どの様な現象なのでしょうか?又、修復は出来ますでしょうか?出来るとしたら、その方法をご教授頂ければ幸いです。(尚、Visual C++2010Expressは、「修正再インストール」してみましたが、結果は変わりませんでした。) PCのOSはWin7です。以上宜しくお願い致します。

  • LNK1120 エラーについて

    このエラーが出たら一体何が問題なんですか? このエラーが出た以降、Visual C++ 2008がずっと使えなくなってしまいました…。ちなみ、この時にビルドで出力されたのは SVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 ■■■\Debug\tr3.exe : fatal error LNK1120: 外部参照 1 が未解決です。 …でした。 あと、入力したものは普通に #include <stdio.h> void main(){ printf ("Hello World"); } です

  • VisualStudio2013でエラー

    C++をやっていて最近VisualStudio2013をインストールしてみたのですが 「LINK : fatal error LNK1158: 'rc.exe' を実行できません。」 というエラーが出て来て動きません。 これはどういった時に出るエラーなのでしょうか? どなたか解決方法を教えて頂けないでしょうか? よろしくお願いいます。

  • microsoft visual C++ でC言語のプログラミング

    プログラミングの超初心者です。 microsoft visual C++ 6.0を利用してC言語のプログラミングをしたいのですが,最も基本のhello worldを表示させようとしてビルドを行うと以下のようなエラーが表示されますが,解決法がわかりません. --------------------構成: hello1 - Win32 Debug-------------------- リンク中... LINK : fatal error LNK1104: ファイル "Debug/hello1.exe" を開けません。 link.exe の実行エラー hello1.exe - エラー 1、警告 0 解決法を教えていただけるとうれしいです. お願い致します.