未解決の外部シンボルについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
syu

未解決の外部シンボルについて

#1

投稿記事 by syu » 14年前

1>------ ビルド開始: プロジェクト: gameengine project, 構成: Debug Win32 ------
1>リンクしています...
1>main.obj : error LNK2019: 未解決の外部シンボル "void __cdecl TrnsBlt(struct HDC__ *,struct HDC__ *,int,int,int,int,int,int)" (?TrnsBlt@@YAXPAUHDC__@@0HHHHHH@Z) が関数 "unsigned long __stdcall ThreadFunc(void *)" (?ThreadFunc@@YGKPAX@Z) で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル "void __cdecl BBlt(struct HDC__ *,struct HDC__ *,int,int,int,int,int,int)" (?BBlt@@YAXPAUHDC__@@0HHHHHH@Z) が関数 "unsigned long __stdcall ThreadFunc(void *)" (?ThreadFunc@@YGKPAX@Z) で参照されました。
1>C:\Users\Owner\Desktop\課題\gameengine project\Debug\gameengine project.exe : fatal error LNK1120: 外部参照 2 が未解決です。
1>ビルドログは "file://c:\Users\Owner\Desktop\課題\gameengine project\gameengine project\Debug\BuildLog.htm" に保存されました。
1>gameengine project - エラー 3、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========



というコンパイルエラーが出て原因が解らず困っています。
解決方法を教えてください。
環境は、visualstudio2008 でOSはWindows7(64bit)です。

同じ質問をこちらにも掲載しています。
http://social.msdn.microsoft.com/Forums ... 053425e579

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 未解決の外部シンボルについて

#2

投稿記事 by softya(ソフト屋) » 14年前

これはコンパイルエラーではなリンクエラーです。

TrnsBltやBBltは内部の関数ではなく外部のライブラリだと思いますが、ちゃんとライブラリのリンクの指定はされていますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

syu
記事: 2
登録日時: 14年前
連絡を取る:

Re: 未解決の外部シンボルについて

#3

投稿記事 by syu » 14年前

以下がヘッターファイルになります。

#include"windows.h"
//プロトタイプ宣言
bool LoadBMP(HBITMAP*, LPCTSTR); //画像読込み
void TrnsBlt(HDC,HDC,int ,int,int,int,int,int);//透過表示
void BBlt(HDC,HDC,int,int,int,int,int,int); //画像表示
bool HitCheck(int,int,int,int,int,int); //衝突判定

上記のように .hファイルにあります。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 未解決の外部シンボルについて

#4

投稿記事 by softya(ソフト屋) » 14年前

ヘッダファイルに書いただけではリンクされません。
ライブラリの実体であるxxx.libファイルをオプションで指定する必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

syu
記事: 2
登録日時: 14年前
連絡を取る:

Re: 未解決の外部シンボルについて

#5

投稿記事 by syu » 14年前

プロジェクト>※※のプロパティ>構成プロパティ>リンカ>コマンドライン>追加オプションに「msimg32.lib winmm.lib」のライブラリを入れました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 未解決の外部シンボルについて

#6

投稿記事 by softya(ソフト屋) » 14年前

これらの関数は、msimg32.lib winmm.libには含まれていないと思います。
bool LoadBMP(HBITMAP*, LPCTSTR); //画像読込み
void TrnsBlt(HDC,HDC,int ,int,int,int,int,int);//透過表示
void BBlt(HDC,HDC,int,int,int,int,int,int); //画像表示
bool HitCheck(int,int,int,int,int,int); //衝突判定

これらの関数の実体は何処のライブラリや何処のソースコードにあるのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る