BCCからVC++に変更した際にwindowsアプリケーションの実行ができなくなった理由

このQ&Aのポイント
  • BCCからVC++に変更したところ、以前実行していたwindowsアプリケーションが実行できなくなりました。
  • コンパイルは正常に実行できますが、実行しようとするとエラーログが作成されます。
  • エラーログの内容には、DirectMusicPerformance8 オブジェクトの作成に失敗したことが記載されています。
回答を見る
  • ベストアンサー

BCCからVC++にしたらwindowsアプリケーションが実行できなくなりました。

bccとDirectX9.0を使いゲームプログラミングを学習していましたが、この度Visual c++6.0にしたところ、今まで実行できていたwindowsアプリケーションが実行できなくなりました。コンパイルは正常に実行できるんですが、実行しようとするとエラーログが作成され実行できません。以下はエラーログの内容です。 ライブラリの更新日 2003/11/30 年/月/日 時:分:秒 プロセス(スレッド)ID ファイル名 行数 メッセージ 2006/01/08 23:32:16.195 01148(03580) Music.cpp 158REGDB_E_CLASSNOTREG, Class not registered DirectMusicPerformance8 オブジェクトの作成に失敗。 2006/01/08 23:32:16.256 01148(03580) WinMain.cpp 110 g_pMusic->Init FAILED どうかご教授御願いします。

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

  • ベストアンサー
  • suseimei
  • ベストアンサー率35% (17/48)
回答No.1

このエラーメッセージは問題発生行情報を通知してくれていますから、ブレークポイントを設定して調査してはいかがでしょうか。私のところではすでにVC++6.0は使用しておりませんから、具体的なことは分かりません。 ちなみに、VC++6.0プロジェクトのVisual C++ 2005への移植は多くの場合、ソースコードの書き換えが必要になっているようです。また、リンクされるシステムライブラリも変更され、VC++6.0の問題解決に関する情報はあまりアップされないと思います。参考のために、無料で利用できるVisual C++ 2005 Express Editionの参考URLを紹介しておきます。この機会に乗り換えてみてはいかがでしょうか。無料ですし...

参考URL:
http://www.ttoyota.com/php/myvcee.php
mrkmrk
質問者

お礼

ご解答有難うございます。いろいろ調べてみたところ6.0では古いのかもしれませんね。 Visual C++ 2005 Express Editionに乗り換え検討してみます。

関連するQ&A

  • BCC32のコンパイルでDOSアプリ

    bcc32 test これでコンパイルしてできた実行ファイルはWin32でした。 クイックビューアで見た時にDOS EXECUTABLEと表示される ようにコンパイルするにはどうしたらいいんですか? 下記がtest.cppのソースです。 #include <iostream.h> int main(){ printf("hello"); return 0; }

  • 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 な、なんだ?? 何が起こったんだ?? 教えてください。

  • VC++のエラー

    windows xp VC++ 6.0 http://www.kumei.ne.jp/c_lang/intro/no_57.htm に書いてある通りに、タイプをwin32 Application で 設定して、 #include <windows.h> int WINAPI WinMain( HANDLE hInstance , HANDLE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL, (LPCSTR)"メッセージ・ボックスのテストです。", (LPCSTR)"猫でもわかるプログラミング", MB_OK); return 0; } をプロジェクトに追加し、ビルドすると、 ******************************** --------------------構成: aaadf - Win32 Debug-------------------- コンパイル中... fdfdfdf.cpp D:\VC\aaadf\fdfdfdf.cpp(7) : error C2731: 'WinMain' : 関数はオーバーロードできません。 D:\VC\aaadf\fdfdfdf.cpp(5) : 'WinMain' の宣言を確認してください。 cl.exe の実行エラー fdfdfdf.obj - エラー 1、警告 0 ********************************* とエラーになります。 何がいけないのかさっぱりわかりません。。

  • Windows上でのCmakeの実行(g++で)

    main.cpp, hello.cppのファイルがあり、以下のようにコンパイルして実行できます。 > g++ -c main.cpp hello.cpp # ソースファイルをコンパイルしてオブジェクトファイル(main.o, hello.o)を生成 > g++ -o a.out main.o hello.o # オブジェクトファイルをリンクしてa.outという実行ファイルを生成 これと同じことをcmakeでやることを考えました。手順は以下のようです。 CmakeをインストールしてCMakeLists.txtを上記ソースと同じところに作成しました。 CMakeLists.txtは以下の通りです。 # CMakeのバージョンを設定 cmake_minimum_required(VERSION 2.8) # プロジェクト名と使用する言語を設定 CXXとは?Visual Studioでしょうか。g++ではどうやるのでしょうか。 project(test_cmake CXX) # a.outという実行ファイルをmain.cppとhello.cppから作成 add_executable(a.out main.cpp hello.cpp) main.cpp, hello.cpp,CMakelists.txtが保存されているフォルダ上で、以下の操作をしました。 > mkdir build > cd build > cmake .. 正常に動作しているようです。 > make ←makefileがないので実行できない(そうだろうと思います)これも問題だと思います。makeがないのに。またこのmakeってどこから提供されるものでしょうか。 この手順だと、a.outを作成してくれるはずですが、a.out.vcxprojのようなファイルが出ています。visual studioなのでそうなるだろうとは思いますが。 予定どおり、g++が実行され、a.outが出力されるようにするにはどうしたらいいでしょうか。

  • bcc32 GetProcAddress( )

    mydll.cpp と mymain.cpp でDLL内の関数を使うテストを しようとしたところです。 GetProcAddress( ) が失敗します。 どこを直せばいいか教えてください。 ///////// mydll.cpp #include <windows.h> extern "C" __declspec(dllexport) int MyFunc(int, int); int MyFunc(int a, int b){return( a + b );} ///////// mymain.cpp #include <windows.h> typedef int (*FUNCTYPE)(int, int); LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){  HMODULE hModule;  FUNCTYPE ft;  int i;  switch(msg){  case WM_RBUTTONDOWN:   hModule = LoadLibrary("mydll.dll");   ft = (FUNCTYPE)GetProcAddress(hModule, "MyFunc");   if(ft == NULL){    //GetLastError();   }   i = (*ft)(7, 8);  break;  case WM_DESTROY:   PostQuitMessage(0);  break;  default:   return DefWindowProc(hWnd, msg, wParam, lParam);  }  return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int){  ・・・ } ///////// コンパイル C:\bcc32 -WD mydll C:\bcc32 -W mymain mydll.obj ///////// 実行 LoadLibrary( ) は NULL 以外を返しました。 DLL_PROCESS_ATTACH は確認できました。 GetProcAddress( ) は NULL を返しました。

  • win32プログラム

    bcc developer(テキストエディタ)の使い方を教えてください。 1 新規作成 → プロジェクト名(aにする。) 2 新規作成 → c/c++ファイル名(a.cppにする) 3 プログラム入力 4 コンパイル 5 メイク まで、うまくいきましたが、実行ボタンが白黒になっていて ボタンが押せません。 どこが間違っているんでしょうか? 教えてください。

  • OpenGLがVC++で使えません・・・。

     様々なサイトを見てOpenGLの使用できる環境をWindowsXPで作成中です。 サイトにやり方はすべてあったのでそれをみながらやっていきました。 コンパイルにもエラーは出てきませんでした。しかし、いざ実行すると 【GLUT:Fatal error in ファイル(.exe): failed to create OpenGL rendering context】 となり、ウィンドウができません・・・。 どうすればいいのでしょうか?

  • jdk1.3で実行すると・・・

    jdk1.3でコンパイルし実行すると Exception in thread "main" java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:385) at java.awt.GridBagLayout.setConstraints(GridBagLayout.java:357) at rei008.<init>(rei008.java:144) at rei008.main(rei008.java:20) というメッセージが出てプログラムが実行できません。 なぜなんでしょうか?宜しくお願いします。

    • ベストアンサー
    • Java
  • MS VC++コンパイルエラーなし...ビルドエラー

    Microsoft Visual C++ で、新規作成 - 「プロジェクト」 - Win32 Application で作成し、「ファイル」-  C++ソースファイルで、main.cpp と言う名前で、以下のソースを作成しました。 #include <stdio.h> #include <stdlib.h> void main(int argc) { FILE *Fout; Fout = fopen("Date.ini" , "W "); fprintf(Fout , "%d" ,argc); fclose( Fout); } 別に作成したdllが、fscanfするためのテキストファイルを日次ハバッチで、作成したいと思っています。 尚、ここでfprintfするデータは、パラメータとして、読み込みたいと思っています。 (Visual BASICの command関数のように) 上記のソース、コンパイルは、通るのですが、ビルドすると以下のエラーが出ます。 「LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16"は未解決です Debug/Date_ini.exe : fatalerror LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー 解決法をご教示いただきたく思います。 宜しくお願い致します。

  • VCでストップウォッチを作りたいのですが、うまくいきません。

    こんにちは。私は30代の男性です。 「Visual C++ の初歩(http://www.gulf.or.jp/~damayan/vc/visualc2.htm)」というサイトで、ストップウォッチプロジェクトファイルがダウンロードできたので、コピペしてコンパイルしようと思ったのですが、うまくいきませんでした。 いつも下記のようなエラーメッセージが表示されます。ヘッダーファイルに「stdafx.h」は置いてあるのですが、やり方が間違っているのでしょうか? ちなみに、ダウンロードした「release」ファイルの中のexeファイルを起動すれば、実行はされます。「自分が新規でプロジェクトファイルを作り、ダウンロードしたソースをコピーしてコンパイルを試みても、うまくいかない。」という話です。 よきアドバイスを頂ければと思います。 宜しくお願い致します。 ----- ビルド開始: プロジェクト: abc, 構成: Debug Win32 ------ コンパイルしています... abc.cpp c:\documents and settings\my documents\visual studio 2005\projects\abc\abc\abc.cpp(111) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ビルドログは "file://c:\Documents and Settings\My Documents\Visual Studio 2005\Projects\abc\abc\Debug\BuildLog.htm" に保存されました。 abc - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

専門家に質問してみよう