0

これはメインコードです:

// DSPlayer.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "DSPlayer.h"
#include "resource.h"
#include "PlayerClass.h"


/********* GLOBAL VARIABLES **********/
HINSTANCE g_hInst;
HWND g_hDialogWindow;

// pointer to my PlayerClass obejct
PlayerClass *g_PlayerObject = NULL;



/******** FUNCTION DECLARATIONS ******/
BOOL CALLBACK DlgDSPlayerProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);




int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    MSG msg;

    HICON iconLarge = NULL;

    InitCommonControls();

    g_hInst = hInstance;

    g_hDialogWindow = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DLGDSPLAYER), NULL, (DLGPROC)DlgDSPlayerProc);

    // this will set the icon for my player
    iconLarge = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICONLARGE));

    if (iconLarge)
    {
        SendMessage(g_hDialogWindow, WM_SETICON, ICON_BIG, (LPARAM)iconLarge);
    }


    // Initialize the COM library
    CoInitialize(NULL);


    if (!g_hDialogWindow)
    {
        MessageBox(NULL, "Dialog creation failed! Aborting..", "Error", MB_OK);
        return -1;
    }

    ShowWindow(g_hDialogWindow, nCmdShow);
    UpdateWindow(g_hDialogWindow);

    if (g_PlayerObject == NULL)
    {
        // create the player object
        g_PlayerObject = new PlayerClass();

        if (g_PlayerObject)
        {
            g_PlayerObject->Initialise(g_hDialogWindow);
        }
        else
        {
            MessageBox(NULL, "Error creating player object", "Error", MB_OK);
            return -1;
        }
    }

    // standard message loop
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!IsDialogMessage(g_hDialogWindow, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }


    return msg.wParam;
}



BOOL CALLBACK DlgDSPlayerProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    bool handled = false;

    switch (message)
    {
        case WM_INITDIALOG:
                return TRUE;

        case WM_COMMAND:
            switch ( LOWORD(wParam))
            {
                case IDC_OPENFILE:
                    handled = true;
                    ///SetWindowText(GetDlgItem(hDlg, IDC_NOWPLAYING), "You selected Play File..");
                    g_PlayerObject->OpenFileDialog();
                    break;

                case IDC_PLAYPAUSE:
                    handled = true;
                    //SetWindowText(GetDlgItem(hDlg, IDC_NOWPLAYING), "You selected Pause");
                    g_PlayerObject->DoPlayPause();
                    break;

                case IDC_STOP:
                    handled = true;
                    //SetWindowText(GetDlgItem(hDlg, IDC_NOWPLAYING), "You selected Stop");
                    g_PlayerObject->DoStop();
                    break;

                case IDC_EXIT:
                    handled = true;
                    free(g_PlayerObject);
                    EndDialog(hDlg, LOWORD(wParam));
                    PostQuitMessage(0);
                    break;
                    //handled = true;
            }

        case WM_TIMER:
            g_PlayerObject->DoTimerStuff();
            break;

        case WM_CLOSE:
            //MessageBox(NULL, "got close", "info", MB_OK);
            PostQuitMessage(0);
            break;

        case WM_GRAPHNOTIFY:
            handled = true;
            g_PlayerObject->EventReceiver();
            break;




/*      case WM_CLOSE:
            CleanUp(hDlg);
            handled = true;
            EndDialog(hDlg, LOWORD(wParam));
            break;
*/
    }

    return handled;

}

それは私のプロジェクトではありません。

ここで、プロジェクトのプロパティに移動し、[一般] > [ターゲット拡張] の下にある: .dll および [一般] > [構成の種類] > [動的ライブラリ (.dll)] の下

しかし、プロジェクトのビルド>ソリューションのビルドを行っているときに、デバッグディレクトリに.dllファイルが見つかりません。

Visual Studio C++Express 2010 を使用しています。

ここで何が欠けていますか?

出力結果:

>------ Build started: Project: DSPlayer, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(298,5): warning MSB8004: Intermediate Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Intermediate Directory.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(299,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(D:\DSPlayer\DSPlayer\.\Debug\DSPlayer.dll) does not match the Linker's OutputFile property value (D:\DSPlayer\DSPlayer\Debug\DSPlayer.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>  DSPlayer.vcxproj -> D:\DSPlayer\DSPlayer\.\Debug\DSPlayer.dll
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

ここに画像の説明を入力

これは 2 つの警告です。

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(D:\DSPlayer\DSPlayer\.\Debug\DSPlayer.dll) does not match the Linker's OutputFile property value (D:\DSPlayer\DSPlayer\Debug\DSPlayer.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

この警告をどこでどのように修正する必要がありますか? 誰かがここにスクリーンショットをアップロードして、その方法と場所を教えてもらえますか?

4

1 に答える 1

-1

出力ディレクトリと中間ディレクトリに .\Debug を書き込み、[クリーン] をクリックしてビルドすると、この警告が発生しても .exe ファイルが生成されます

于 2014-05-05T10:53:51.293 に答える