新しいパソコンでVSをいれDxLib関連の引き継ぎをしたのですがうまくいきませんでした。
サンプルプログラムは動きますが前の環境で動いたものが動きません。
作った幾つかのプログラムでしてみましたが無理でした。
予め設定はしてあるので追加のプロジェクトに追加すべきファイルを前のと同じ所にやったのですが・・。
エラー LNK2019 未解決の外部シンボル "int __cdecl DxLib::ClearDrawScreen(struct tagRECT *)" (?ClearDrawScreen@DxLib@@YAHPAUtagRECT@@@Z) が関数 _WinMain@16 で参照されました。 BUILD1 D:\forDxLib\BUILD1\Main.obj 1
エラー LNK2019 未解決の外部シンボル "int __cdecl DxLib::DrawString(int,int,char const *,int,int)" (?DrawString@DxLib@@YAHHHPBDHH@Z) が関数 "void __cdecl Config(void)" (?Config@@YAXXZ) で参照されました。 BUILD1 D:\forDxLib\BUILD1\Main.obj 1
エラー LNK2019 未解決の外部シンボル "unsigned long __cdecl DxLib::GetColor(int,int,int)" (?GetColor@DxLib@@YAKHHH@Z) が関数 "void __cdecl Config(void)" (?Config@@YAXXZ) で参照されました。 BUILD1 D:\forDxLib\BUILD1\Main.obj 1
エラー LNK2019 未解決の外部シンボル _TIFFClose が関数 "int __cdecl LoadTiffImage(struct DxLib::tagSTREAMDATA *,struct DxLib::tagBASEIMAGE *,int)" (?LoadTiffImage@@YAHPAUtagSTREAMDATA@DxLib@@PAUtagBASEIMAGE@2@H@Z) で参照されました。 BUILD1 D:\forDxLib\BUILD1\DxUseCLib_d.lib(DxUseCLib.obj) 1
エラー LNK2019 未解決の外部シンボル _TIFFReadRGBAStrip が関数 "int __cdecl LoadTiffImage(struct DxLib::tagSTREAMDATA *,struct DxLib::tagBASEIMAGE *,int)" (?LoadTiffImage@@YAHPAUtagSTREAMDATA@DxLib@@PAUtagBASEIMAGE@2@H@Z) で参照されました。 BUILD1 D:\forDxLib\BUILD1\DxUseCLib_d.lib(DxUseCLib.obj) 1
エラー LNK2019 未解決の外部シンボル _TIFFGetField が関数 "int __cdecl LoadTiffImage(struct DxLib::tagSTREAMDATA *,struct DxLib::tagBASEIMAGE *,int)" (?LoadTiffImage@@YAHPAUtagSTREAMDATA@DxLib@@PAUtagBASEIMAGE@2@H@Z) で参照されました。 BUILD1 D:\forDxLib\BUILD1\DxUseCLib_d.lib(DxUseCLib.obj) 1
エラー LNK2019 未解決の外部シンボル _TIFFClientOpen が関数 "int __cdecl LoadTiffImage(struct DxLib::tagSTREAMDATA *,struct DxLib::tagBASEIMAGE *,int)" (?LoadTiffImage@@YAHPAUtagSTREAMDATA@DxLib@@PAUtagBASEIMAGE@2@H@Z) で参照されました。 BUILD1 D:\forDxLib\BUILD1\DxUseCLib_d.lib(DxUseCLib.obj) 1
エラー LNK2019 未解決の外部シンボル _printf が関数 "public: virtual bool __thiscall D_btCollisionDispatcher::needsCollision(class D_btCollisionObject *,class D_btCollisionObject *)" (?needsCollision@D_btCollisionDispatcher@@UAE_NPAVD_btCollisionObject@@0@Z) で参照されました。 BUILD1 D:\forDxLib\BUILD1\libbulletcollision_vc6_d.lib(btCollisionDispatcher.obj) 1
エラー LNK2001 外部シンボル "_printf" は未解決です。 BUILD1 D:\forDxLib\BUILD1\libbulletcollision_vc6_d.lib(btGjkPairDetector.obj) 1
エラー LNK2019 未解決の外部シンボル _sprintf が関数 _format_message で参照されました。 BUILD1 D:\forDxLib\BUILD1\libjpeg_d.lib(jerror.obj) 1
エラー LNK2019 未解決の外部シンボル _sscanf が関数 _jinit_memory_mgr で参照されました。 BUILD1 D:\forDxLib\BUILD1\libjpeg_d.lib(jmemmgr.obj) 1
エラー LNK1120 10 件の未解決の外部参照 BUILD1 D:\forDxLib\BUILD1\Debug\BUILD1.exe 1
プログラムは前に載せたことがありますが、
#include"DxLib.h"
typedef enum {
eScene_Menu, //メニュー画面
eScene_Game, //ゲーム画面
eScene_Config, //終了画面
eScene_Title, //タイトル画面
} eScene;
int Music1, Music2, BackGround1, Title1;//Music1:海戦,Music2:魔王の城,Count:音楽が流れている時間を継続,BackGround1:背景1
static int Scene = eScene_Title; //現在の画面(シーン)
bool IsFirstTitle = true;
bool IsFirstGame = true;
void UpdateScene() {
if (CheckHitKey(KEY_INPUT_G) != 0) {
Scene = eScene_Game;
IsFirstGame = true;
}
if (CheckHitKey(KEY_INPUT_C) != 0) {
Scene = eScene_Config;
}
if (CheckHitKey(KEY_INPUT_M) != 0) {
Scene = eScene_Menu;
}
}
//メニュー画面
void Menu() {
DrawString(0, 0, "プログラムを終了します。", GetColor(255, 255, 255));
}
//ゲーム画面
void Game() {
DrawString(0, 0, "ゲーム画面です。", GetColor(255, 255, 255));
if (IsFirstGame) {
StopSoundMem(Music1);
PlaySoundMem(Music2, DX_PLAYTYPE_BACK); // GAME時の曲を再生する(LOOP)
IsFirstGame = false;
}
}
//設定画面
void Config() {
DrawString(0, 0, "設定画面です。", GetColor(255, 255, 255));
}
void Title() {//Default(初期)の画面・音声設定
if (IsFirstTitle) {
PlaySoundMem(Music1, DX_PLAYTYPE_BACK); // 背景時の曲を再生する(LOOP)
IsFirstTitle = false;
}
DrawGraph(0, 0, Title1, TRUE); // データハンドルを使って画像を描画
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定
SetMainWindowText("Piron's Adventure");//タイトルを変更
Music1 = LoadSoundMem("Sound/amacya-kaisen.ogg"); // サウンド/1up.wavをロードし、識別番号をMusic1に格納
Music2 = LoadSoundMem("Sound/甘茶工房-魔王の城.ogg"); //サウンドをメモリにロード,Music2に格納
Title1 = LoadGraph("画像/Title.png");//タイトル画像をロード
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
switch (Scene) {//現在のシーンにあった処理をする
case eScene_Menu://現在のシーンがメニューなら
Menu();//メニュー画面
break;
case eScene_Game://現在のシーンがゲームなら
Game();//ゲーム画面
break;
case eScene_Config://現在のシーンが設定なら
Config();//設定画面
break;
case eScene_Title://現在のシーンがタイトルなら
Title();//タイトル画面
break;
}
UpdateScene();//シーンを更新する
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
なにがいけないのでしょうか?
前の環境は:VS2013 Professional,今はVS2015Communityです。