• 締切済み

DxLibについて質問です

DxLibを使ったプログラムがコンパイルできません。 下がそのプログラムです #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if( DxLib_Init() == -1 ) { return -1; } DrawBox(100,100,300,300,GetColor(255,255,255),TRUE); WaitKey(); DxLib_End(); return 0; } http://p.booklog.jp/book/46490/chapter/77396 このサイトに従って、DXライブラリを使うセットアップをしたのですが、 下のようなエラーコードが出てきます。 ■C:\Users\masaki\Desktop\C> bcc32 windows.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland windows.cpp: 警告 W8022 C:\borland\bcc55\Include\DxDirectX.h 6121: 'D_CTransInPlaceFilter::Transform(D_IMediaSample *)' が仮想関数 'D_CTransformFilter::Transform(D_IMediaSample *,D_IMediaSample *)' を隠蔽する 警告 W8094 C:\borland\bcc55\Include\DxLib.h 100: #pragma comment( <type> [,"string"] ) の使用法に誤りがある 警告 W8094 C:\borland\bcc55\Include\DxLib.h 101: #pragma comment( <type> [,"string"] ) の使用法に誤りがある 警告 W8094 C:\borland\bcc55\Include\DxLib.h 102: #pragma comment( <type> [,"string"] ) の使用法に誤りがある 警告 W8057 windows.cpp 13: パラメータ 'hInstance' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 windows.cpp 13: パラメータ 'hPrevInstance' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 windows.cpp 13: パラメータ 'lpCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 windows.cpp 13: パラメータ 'nCmdShow' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: ファイル SHELL32.LIB が開けません shell32.libが開けないとあり、自分でも調べたのですが、自分にはその内容が理解できず、このサイトに質問を投稿しました。 コンパイラは、Borland C++ Compiler 5.5.1 OSは、Windows 7 Ultimate エディタは、CPad for Borland C++ Compiler ver.2.3.1 です。 よろしくお願いします。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

「2-9 BCCを使ったDXライブラリの設定」の設定が正しくない。 とかではないですかね? ilink32.cfgに記述されている場所にshell32.libはありますか?

yosswi414
質問者

補足

1か月近く遅れてすみません、回答ありがとうございます -L"C:\borland\bcc55\Lib" と記述されていたのでLibフォルダを見てみたところ、 shell32.libというファイルは見つかりませんでした。

関連するQ&A

  • WinMainの第3引数のlpszCPを・・・

    WinMainの第3引数のlpszCPを使うのをやめたとたんに Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland 警告 W8057 program.cpp 335: パラメータ 'lpszCP' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland という警告が出始めたのですが普通lpszCPは使わないものなのではないでしょうか? 警告を回避するにはどうしたらいいでしょうか?

  • Visual Windows for BC++ のサンプルプログラムがエラーになる

    Visual Windows for BC++ をインストールした直後に、新しいプロジェクトをwindows型でつくり、サンプルプログラムをビルドしたところ、うまく実行ファイルができ、正常に動作しました。 次に、OpenCVを http://nautilus.cs.miyazaki-u.ac.jp/~yoshi/pukiwiki/index.php を参考にダウンロードして、 インクルードファイルの検索パスに3つ: C:\Program Files\OpenCV\cv\include、C:\Program Files\OpenCV\cxcore\include、C:\Program Files\OpenCV\otherlibs\highgui ライブラリファイルの検索パスに1つ:C:\Program Files\OpenCV\lib を追加しました。 OpenCVのサンプルプログラムをビルドしようとしたのですがエラーになり先に進みません。それどころか、インストール直後にビルドできたサンプルプログラムもエラーが出るようになってしまいました。 エラーが発生したため、brc32.exe を終了します。 となります。 コンパイルも、以下の警告が出るようになってしまいました。 私の設定が悪いのでしょうか、それとも、Visual Windows for BC++では、OpenCVは扱えない ということでしょうか? よろしくお願いします。 Visual Windows for BC++, Copyright (c) 2003-2007 M. Yasue: proj1.exe ビルド実行中..... Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland ..\hello.cpp: 警告 W8060 ..\hello.cpp 30: おそらく不正な代入(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 41: パラメータ 'hPrevInstance' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 41: パラメータ 'lpCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 95: パラメータ 'message' は一度も使用されない(関数 __stdcall OnPaint(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8057 ..\hello.cpp 95: パラメータ 'wParam' は一度も使用されない(関数 __stdcall OnPaint(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8004 ..\hello.cpp 130: 'wmEvent' に代入した値は使われていない(関数 __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8057 ..\hello.cpp 183: パラメータ 'lParam' は一度も使用されない(関数 __stdcall About(HWND__ *,unsigned int,unsigned int,long) ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland リソースファイルコンパイル・リンク実行中..... Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. 終了.....

  • 初めてのWindowsプログラム

    初めてのWindowsプログラム #include <windows.h> #include <stdio.h> char* Title ="加算プログラム"; int AddNum(int a,int b) { return a +b; } int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hDummy,LPSTR lpszArgs, int iMode) { int i; char s[80]; i = AAddNum(123, 456); sprintf(s, "123+456=%d",i); MessageBox(NULL,s,Title,MB_OK); return 0; } このプログラムなんですが、実行すると次のようなエラーが出ます。 ■C: C> bcc32 test.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland test.c: 警告 W8065 test.c 16: プロトタイプ宣言のない関数 'AAddNum' の呼び出し(関数 WinMain ) 警告 W8057 test.c 21: パラメータ 'hInst' は一度も使用されない(関数 WinMain ) 警告 W8057 test.c 21: パラメータ 'hDummy' は一度も使用されない(関数 WinMain ) 警告 W8057 test.c 21: パラメータ 'lpszArgs' は一度も使用されない(関数 WinMain ) 警告 W8057 test.c 21: パラメータ 'iMode' は一度も使用されない(関数 WinMain ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) コンパイラはBorland C++ 5.5.を使っていて、printfなどのコンソールプログラムは実行できます。 サンプルプログラムそのままなのですが、なぜ上のプログラムは実行できないのでしょうか。

  • lstrcpyが使えない

    #include <dshow.h> としてlstrcpyを加えたコードを bcc32でコンパイルするとエラーが出ます。他にも色々使えない関数が出てきました。 --------------------------------------------- #include <windows.h> #include <dshow.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpCmdLine,int nCmdShow){ TCHAR ore[64]; lstrcpy(ore,TEXT("こんにちは")); return 0; } --------------------------------------------- bcc32 -I"C:\Borland\Bcc55\Include" -L"C:\Borland\Bcc55\Lib" -I"C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Include" -L"C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Lib" -I"C:\Program Files\Microsoft Platform SDK\Include" -L"C:\Program Files\Microsoft Platform SDK\Lib" -W test.cpp --------------------------------------------- エラー E2451 test.cpp 7: 未定義のシンボル lstrcpy_instead_use_StringCbCopy_or_St ringCchCopy(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) もし解決方をご存知の方がいらっしゃいましたらご教授なにとぞお願い致します。

  • 実行時dllを動かしたい

    のですがサイトで見つけたdllの作り方を見て 大人気の無償Borland C++5.51を使って //mydll.cpp #include <windows.h> BOOL __stdcall MyBeep() { return MessageBeep(0); } int __stdcall MyMessageBox(LPCTSTR lpszMessage) { return MessageBox(NULL,lpszMessage,"",0); } を bcc32 -WD mydll してmydll.dllを作り //myexe.cpp #include <windows.h> typedef int (__stdcall *pMyFunction)(LPCTSTR); int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { HINSTANCE hLib; pMyFunction pMyMessageBox; hLib = LoadLibrary("mydll.dll"); if(hLib) { pMyMessageBox=(pMyFunction)GetProcAddress(hLib,"MyMessageBox"); if(pMyMessageBox)(*pMyMessageBox)("HELLO!!"); FreeLibrary(hLib); } return 0; } を bcc32 -W myexe してmyexe.exeを作り myexe.exe したのですがHELLO!!がでません。 どうしたらいいのでしょうか?

  • 「外部シンボルが未解決」について教えてください

    BCCを使ってます。windowsのプログラムで、『外部シンボル 'MyCreateFontが未解決』と言うメッセージが出たのですが、リンクエラーなのでしょうか? また、『外部シンボル○○が未解決』と表示された場合、どのような処置をすればいいですか。アドバイスをお願いします。 D:\borland\bcc55\lesson>bcc32 -W -w-8057 timer.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland timer.cpp: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル 'MyCreateFont(int, unsigned long, const char *)' が未解決(D:\BORLAND\BCC55\LESSON\TIMER.OBJ が参照 ) こちらが、宣言の部分です。 #include <windows.h> #define ID_MYTIMER 100 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); ATOM InitApp(HINSTANCE); BOOL InitInstance(HINSTANCE, int); HFONT MyCreateFont(int, DWORD, LPCTSTR); char szClassName[] = "clock"; //ウィンドウクラス int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow)

  • waveout関数を使うと「○○は一度も使用されない」と表示されるのはなぜですか?

    C++をはじめたばかりなのですが、waveout関数に興味を持ち、今現在勉強中です。 初めに、仕組みを大まかにでも理解するために、サンプルを貼り付け、コンパイルし、実行してみました。 サンプルは、『Windowsプログラミング研究所(http://www13.plala.or.jp/kymats/index.html)』で公開されているものを使いました。公開されているページのURLは、http://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_stereo_16.cppです。 コンパイルに利用したのは、「CPad for Borland C++ Compiler」です。 ところが、以下のようなエラーが表示されました。 >警告 W8057 bb.cpp 44: パラメータ 'hinstPrev' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) >警告 W8057 bb.cpp 44: パラメータ 'lpszCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) >Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland >Fatal: ファイル WINMM.LIB が開けません プログラミングの基礎が成っていないためなのでしょうが、「パラメータ 'hinstPrev' は一度も使用されない」や「パラメータ 'lpszCmdLine' は一度も使用されない」の意味がわかりませんでした。 サンプルが間違っているとは思えません。 となると、このサンプルを実行に移すための下準備が必要なのだと思うのですが、それが何なのかがわかりません。 waveout関数について説明されている他のサイトも検索してみたのですが、上のページで公開されているサンプルと同様の内容が公開されているばかりで、実行に移すための下準備が何なのかはわかりませんでした。 なぜ「○○は一度も使用されない」と表示されるのかを教えてください。 また、これを改善するには何が必要になるのかについても、ご教授ください。 できれば、waveout関数について、上に挙げたサイトよりも、より初心者向けに書かれたサイトがあれば、教えてもらえると幸いです。

  • DXライブラリでの画像表示

    ゲームプログラミング初心者です。 DXライブラリを用いて画像を表示させようと以下のプログラムを組んで実行してみたのですが、ウィンドウは表示されるのに画像が表示されません。 使用しているのはBorland C++ 5.5.,BCC Developer,DXライブラリです。 ちゃんと画像もプロジェクトファイルの中に入っていると思います。 OSはwindows8です。 考えられる原因を教えてもらえないでしょうか。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) { return -1; } LoadGraphScreen(0,0,"image.png",TRUE); WaitKey(); DxLib_End(); return 0; }

  • Windowsアプリケーションをどうしても作りたいのですが

    /* OS==XP コンパイラー==Borland C++5.5 */ #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) { return 0; } で Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) となるのでexeファイルができません。 解決法を是非教えてください。 C言語歴2日+1H

  • DXライブラリを使用した画像表示について

    ゲームプログラミングを始めたいと考えている初心者です。 Borland C++ 5.5.1,BCC Developer,DXライブラリを使用しています。 下記のプログラムをメイクして実行すると、ウィンドウは表示されるのですが、画像が表示されません。画像の保存場所はプロジェクトの中のDebugフォルダです。どんな原因が考えられるでしょうか?ウィンドウは表示されていて実行できているのでプログラムの記述の問題ではないと考えます。 使用しているOSがMeです。Meではできないのでしょうか? お詳しい方、ぜひご回答お願いします。 ---------------------------------------------------------------- #include "DxLib.h" // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ; // ウインドウモードに変更 if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 } /*--ここから下に処理を記述--*/ LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ; /*--ここまでが処理--*/ WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }

専門家に質問してみよう