DXライブラリ3DをVisual C++2008EEに導入したい!
・・・のですが、導入方法が間違えたのか、あるいはどこか欠けていたのか、訳の分からないエラーが発生しました。僕はこれを見ても何処が間違えたのかがさっぱりです。一体どこに・・・?
ちなみに、普通のDXライブラリと同じやり方で導入しました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::ScreenFlip(void)" (?ScreenFlip@myLib_c@@QAEJXZ) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::DrawTeapot(struct D3DXVECTOR3,struct D3DXVECTOR3,float,float,struct _LCOLOR,bool)" (?DrawTeapot@myLib_c@@QAEJUD3DXVECTOR3@@0MMU_LCOLOR@@_N@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::SetCamera(struct D3DXVECTOR3,struct D3DXVECTOR3)" (?SetCamera@myLib_c@@QAEJUD3DXVECTOR3@@0@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: enum G::KeyType_e __thiscall myLib_c::GetKey(void)" (?GetKey@myLib_c@@QAE?AW4KeyType_e@G@@XZ) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::DrawCameraPoint(float,float,unsigned long,bool)" (?DrawCameraPoint@myLib_c@@QAEJMMK_N@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::AdjustFPS(int)" (?AdjustFPS@myLib_c@@QAEJH@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: unsigned long __thiscall myLib_c::CLS(unsigned long)" (?CLS@myLib_c@@QAEKK@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::MessageProcess(void)" (?MessageProcess@myLib_c@@QAEJXZ) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2019: 未解決の外部シンボル "public: long __thiscall myLib_c::Init(struct HWND__ *)" (?Init@myLib_c@@QAEJPAUHWND__@@@Z) が関数 _WinMain@16 で参照されました。
3dlib.obj : error LNK2001: 外部シンボル ""class myLib_c mL" (?mL@@3VmyLib_c@@A)" は未解決です。
C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\xxx3d\Debug\3d.exe : fatal error LNK1120: 外部参照 10 が未解決です。
と出ました。
あと、入れたソースは
#include "DxLib.h"
int DxMain()
{
if ( FAILED( mL.Init() ) ) //ライブラリの初期化処理
return -1;
VECTOR3 EyePoint( 0, 0, -4 ); //カメラのある座標(視点)
VECTOR3 LookAtPoint( 0, 0, 0 ); //カメラが見つめる座標(注視点)
// ウィンドウのメッセージ処理を行い、エラーが無い限りループ
while ( SUCCEEDED( mL.MessageProcess() ) )
{
mL.CLS(); //画面をクリア
mL.AdjustFPS(60); //FPSを調整
mL.DrawCameraPoint( 10, 10 ); //カメラ座標を描画
// キー入力
switch ( mL.GetKey() ){
case G::KEY_UP: EyePoint.y++; break; //上キー
case G::KEY_DOWN: EyePoint.y--; break; //下キー
}
mL.SetCamera( EyePoint, LookAtPoint ); //カメラをセット
mL.DrawTeapot( VECTOR3( 0, 0, 0 ) ); //ティーポットを描画
mL.ScreenFlip(); //裏画面を表画面に反映
}
return 0;
}
・・・です。
お礼
質問後もいろいろと検討しましたが,どうも現実的な解決策がなさそうなのであきらめました。 ご回答,ありがとうございました。