プロが教える店舗&オフィスのセキュリティ対策術

以前http://oshiete1.goo.ne.jp/qa4632602.htmlで質問して、ライブラリの設定ができていないのではということを指摘され、ライブラリの設定をしましたが、
「LNK1136:ファイルが無効であるか、または壊れています。」
というコンパイルエラーがでました。
自分で、プロジェクト>プロパティ>構成プロパティ>リンク>入力>追加の依存ファイルにライブラリを入れました。
やり方が違うのでしょうか?
本当に壊れているのかと思い、ライブラリファイルを入れなおしてみましたが変わりませんでした。

環境:visual studio 2005、WindosVista Ultimate 32bit

A 回答 (4件)

エラーの内容と環境からの推測です。



まず、エラーの内容が言っているのは
「入力ファイルのヘッダーが破損している。」とか
「追加しているファイルの依存関係がおかしい」
というようなことらしいです。
http://msdn.microsoft.com/ja-jp/library/6azkch2c …

その内容から推測すると、
・「追加の依存ファイル」への追加した順序がおかしい。
・「追加の依存ファイル」に追加したファイルがおかしい。
つまり、コンパイラ側は「拡張子が.oのオブジェクトファイル」が欲しいのに
ソースファイル(.c)やライブラリファイル(.lib)などの
間違ったファイルが突っ込まれていたり、
必要なファイルが間違った場所に格納されている。

あるいは、最初にエラーとなった状態のままとなっていて
・入れ直した操作が再コンパイルに反映されていない。
ということが考えられます。

なので、ライブラリファイル、オブジェクトファイルなどの格納場所を確認し、
完全ビルド(っていうのでしょうか?)を行ってみるとよいのではないでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
>>間違ったファイルが突っ込まれていたり
メーカからダウンロードしたファイルのlibフォルダのものを入れましたがこれが違うということですね。もう一度調べてみます。

お礼日時:2009/01/19 20:44

追加の依存ファイルに入れたファイル名はなんでしょうか


追加されたファイルがライブラリではないようです
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ファイル名はbcsicl32.libです。
メーカーからダウンロードしたファイルのlibフォルダに入っていた物を片っ端から追加の依存ファイルに入れました。

お礼日時:2009/01/19 20:40

>メーカーからダウンロードしたファイルのlibフォルダに入っていた物を片っ端から追加の依存ファイルに入れました。



http://msdn.microsoft.com/ja-jp/library/6azkch2c …
は自動翻訳なので「日本語が変」ですが、このページが言いたい事は

「追加の依存ファイルに、.libファイル以外の、リンカがライブラリファイルとして認識出来ないファイルを指定した場合にも発生します」

と言う事。

つまり「libフォルダに入っていた物を片っ端から追加の依存ファイルに入れた」のが原因。

libフォルダには「#includeに使う.hファイルや説明書などの.txtファイルなど、.libファイル以外の、リンカがライブラリファイルとして認識出来ないファイル」も含まれてるから、片っ端から追加の依存ファイルに入れてはいけない。

追加で入れたのを全部「無し」にして「拡張子が.libのファイルだけ」を入れ直しましょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
.libのものを入れてもうまく動きませんでした。
メーカーに聞いたところサンプルプログラムの変数宣言が違ったようです。

お礼日時:2009/01/22 19:35

前の質問で visa.h をインクルードしてるようですがそれなら追加するのは


visa32.lib
ではないでしょうか
    • good
    • 0
この回答へのお礼

解答ありがとうございます。
visa32.libをいれると、「_StringLength関数が _main で参照されました」というエラーが出たのでライブラリファイルが違うのかなと思ったしだいです。

お礼日時:2009/01/21 14:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!