• ベストアンサー

外部シンボルについて

リンク中... session.obj : error LNK2001: 外部シンボル "_bcopy" は未解決です session.obj : error LNK2001: 外部シンボル "_bzero" は未解決です Debug/session.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー VC++を使用しましてビルドとコンパイルをしますと上記のようなエラーがでます。ライブラリのリンク不足なのでしょうか?どのファイルを使用すればいいかわかりません。宜しくお願いします。

  • fm0606
  • お礼率13% (100/761)

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.3

 補足文に記載されている close に関して。  それは close 関数ということでしょうか?  であれば、通常は _close になるはずです。(特に気にしなければアンダーバーを付加した形になります)  ただ、外部シンボルはリンカー・プログラムが内部的に使用する名前です。  DLLとかを作る場合は気にしなきゃいけないときもありますが( _close@56 とかそういう名前になったりするので)、基礎的なプログラムを作っている時点では気にする必要はないはずです。  ちなみに#2の方の方法のが手間がなくてよかったですね(^_^; まあ、結果は一緒ですが。(俺の考えが足りなかったようです。申し訳ない)

その他の回答 (2)

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.2

VC や ANSI ではないようです。 #defnie bzero(base, n )  memset((base), 0, (n)) #defnie bcopy(from, to, n) memcpy((to), (from), (n)) で置き換えられるようです。

noname#25358
noname#25358
回答No.1

 bcopy と bzero はどっちもC++のライブラリ関数じゃないですよね(UNIX系のC言語の関数です)。  なので、そもそもこれらの関数がないよ、と言っているのです。  ソース中の bcopy 関数と bzero 関数を別の関数で代用する必要があります。(アンダーバーはコンパイラが自動付加したものなので、_bcopy 関数ではありません)  bcopy は、memcpy にまんま置き換えて使えます。CTRL+H で置き換えてください。  bzero は、memset で代用できます。  現在、「bzero( www, 100 );」 とか、こういう形になっていると思います。これを、「memset( www, 0, 100 );」に置き換えてください。第2引数は0で固定でいいです。  ソース中の関数は全てです。  おそらくはこれでいけるはずです。

fm0606
質問者

補足

すみませんがcloseの外部シンボルはなんでしょうか? 上の2つは解決できました。 ありがとうございます。

関連するQ&A

  • 「外部シンボル "_DirectDrawCreate@12" は未解決」って???

    外国のサイトで拾ってきたVisual C++のソースコードをコンパイルしたら 次のようなエラーが出ました。 --------------------------------- (1) test.obj : error LNK2001: 外部シンボル "_DirectDrawCreate@12" は未解決です (2) nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です (3) nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です (4) Debug/prog.exe : fatal error LNK1120: 外部参照 3 が未解決です。 (5) link.exe の実行エラー --------------------------------- 特に、(1)~(3) の意味がよく分かりません。 Readmeを見ると、「コンパイルすればいい」としか書いてないのですが、、、 もし原因がわかったらお願いします。

  • C++で、外部シンボル・外部参照が未解決

    どんな簡単な間違っていないようなプログラムをビルドしても、同じエラーメッセージが現れてきます。 これは、もしかしてインストールの仕方がまずかったのでしょうか? LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/hello.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー hello.exe - エラー 2、警告 0

  • 外部シンボル未解決 LNK2001

    外部シンボル未解決 LNK2001 今windowsXP32bitからwindowsXP64bitPCでのデバッグを行おうとしています。 開発環境VC++2005です。 しかし、32bitPCでは、エラーなどなかったのですが64bitPCだと次のようなエラーが発生しました。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DP8SP_TCPIP" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlayVoiceClient" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlayVoiceClient" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "PIN_CATEGORY_PREVIEW" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IBasicVideo" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_VideoInputDeviceCategory" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_SystemDeviceEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_ICreateDevEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IMediaControl" は未解決です。 とエラーがでています。 一応構成マネージャーの設定は、64x設定しています 何か設定などたりないのでしょうか? よろしくお願いします。

  • C++でのエラー LNK2001

    C++でプログラミング中ビルドしたところ以下のようなエラーが出ました。解決方法がわかりません。どのようにしたら解決できるのでしょうか? ---------------------------------------------------------------- コンパイル中... sample01.cpp リンク中... sample01.obj : error LNK2001: 外部シンボル "__imp__dispose_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_copyright_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_version_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__initialize_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__close_reader_writer" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_last_error_types" は未解決です Debug/Sample01.exe : fatal error LNK1120: 外部参照 6 が未解決です。 link.exe の実行エラー

  • 外部シンボル未解決 LNK2001

    外部シンボル未解決 LNK2001 外部シンボル未解決 LNK2001 今windowsXP32bitからwindowsXP64bitPCでのデバッグを行おうとしています。 開発環境VC++2005です。 しかし、32bitPCでは、エラーなどなかったのですが64bitPCだと次のようなエラーが発生しました。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DP8SP_TCPIP" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlayVoiceClient" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlayVoiceClient" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "PIN_CATEGORY_PREVIEW" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IBasicVideo" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_VideoInputDeviceCategory" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_SystemDeviceEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_ICreateDevEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IMediaControl" は未解決です。 とエラーがでています。 一応構成マネージャーの設定は、64x設定しています 何か設定などたりないのでしょうか? よろしくお願いします。

  • 外部シンボル未解決 LNK2001

    外部シンボル未解決 LNK2001 今windowsXP32bitからwindowsXP64bitPCでのデバッグを行おうとしています。 開発環境VC++2005です。 しかし、32bitPCでは、エラーなどなかったのですが64bitPCだと次のようなエラーが発生しました。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DP8SP_TCPIP" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Address" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlay8Client" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultCapture" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>MainteDlg.obj : error LNK2001: 外部シンボル "DSDEVID_DefaultPlayback" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "CLSID_DirectPlayVoiceClient" は未解決です。 5>DirectPlay.obj : error LNK2001: 外部シンボル "IID_IDirectPlayVoiceClient" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "PIN_CATEGORY_PREVIEW" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IBasicVideo" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_VideoInputDeviceCategory" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "CLSID_SystemDeviceEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_ICreateDevEnum" は未解決です。 5>DirectShow.obj : error LNK2001: 外部シンボル "IID_IMediaControl" は未解決です。 とエラーがでています。 一応構成マネージャーの設定は、64x設定しています 何か設定などたりないのでしょうか? よろしくお願いします。

  • VC++でエラー

    --------------------構成: 01 - Win32 Debug-------------------- コンパイル中... text.cpp リンク中... LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/01.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー 01.exe - エラー 2、警告 0 な、なんだ?? 何が起こったんだ?? 教えてください。

  • ビルドする時のエラー。(初心者です)

    リンク中... LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/MousMov.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー というエラーがでます。 何がいけなくて対処方法はどうすればいいのでしょう。 初めてビルドするときは、エラーは何も出ないのですがもう一回するとこのエラーがでます。どうすればいいんですか?よろしくお願いします。

  • VC++プログラムについて、お願いします。

    自作プログラムをできた!と思い、ビルドしたのですが(「MFCを使用しない」で作っています)。 「 リンク中... LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/Sample.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー Sample.exe - エラー 2、警告 0 」 どうしてもリンクがうまくいかないようです。 プログラム的には問題が無いと思うのですが、この場合は何が悪いのか、教えて下さい。 帰れないものですいません、お願い致します。

  • DirectX8でコンパイルエラー

    DirectX8実践プログラミングという本についてくるサンプルプログラムを コンパイルしようとしているのですが、 sprite.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です sprite.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileA@12" は未解決です sprite.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です .\Debug/spriteanimate.exe : fatal error LNK1120: 外部参照 3 が未解決です。 link.exe の実行エラー となってしまいます。DirectXを使っての勉強をはじめたばかりなのですが いきなりつまってしまいました。 おそらくライブラリが見つからないのかと思うのですが ライブラリのディレクトリ設定でC:\mssdk\libも追加されていました。 DirectX8SDKについてくるサンプルはコンパイル出来るのですが どういう理由が考えられるでしょうか?

専門家に質問してみよう