这是主要代码:
// 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;
}
这不是我的项目。
现在我去了项目属性,在General> Target Extension下:.dll 并且在General> Configuration Type>下它的:动态库(.dll)
但是当我正在做我的项目Build> Build Solution时 我在Debug目录中找不到任何.dll文件。
我正在使用Visual Studio C++
Express 2010。
我在这里缺少什么?
OutPut结果:
>------ 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 ==========
这是两个警告:
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).
我如何以及在何处修复此警告?有人可以在这里上传截图,告诉我如何以及在哪里做到这一点?
答案 0 :(得分:-1)
在输出目录和中间目录中编写。\ Debug然后单击clean和 然后生成.exe文件,即使出现此警告