Note that there are some explanatory texts on larger screens.

plurals
  1. POHow can I compile my project in C++ so it will create on my hard disk a .dll file of my project to use it later with another program?
    primarykey
    data
    text
    <p>This is the main code:</p> <pre><code>// 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-&gt;Initialise(g_hDialogWindow); } else { MessageBox(NULL, "Error creating player object", "Error", MB_OK); return -1; } } // standard message loop while (GetMessage(&amp;msg, NULL, 0, 0)) { if (!IsDialogMessage(g_hDialogWindow, &amp;msg)) { TranslateMessage(&amp;msg); DispatchMessage(&amp;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-&gt;OpenFileDialog(); break; case IDC_PLAYPAUSE: handled = true; //SetWindowText(GetDlgItem(hDlg, IDC_NOWPLAYING), "You selected Pause"); g_PlayerObject-&gt;DoPlayPause(); break; case IDC_STOP: handled = true; //SetWindowText(GetDlgItem(hDlg, IDC_NOWPLAYING), "You selected Stop"); g_PlayerObject-&gt;DoStop(); break; case IDC_EXIT: handled = true; free(g_PlayerObject); EndDialog(hDlg, LOWORD(wParam)); PostQuitMessage(0); break; //handled = true; } case WM_TIMER: g_PlayerObject-&gt;DoTimerStuff(); break; case WM_CLOSE: //MessageBox(NULL, "got close", "info", MB_OK); PostQuitMessage(0); break; case WM_GRAPHNOTIFY: handled = true; g_PlayerObject-&gt;EventReceiver(); break; /* case WM_CLOSE: CleanUp(hDlg); handled = true; EndDialog(hDlg, LOWORD(wParam)); break; */ } return handled; } </code></pre> <p>It's not my project.</p> <p>Now I went to the project properties and under General>Target Extension its: .dll And under General>Configuration Type> its: Dynamic Library (.dll)</p> <p>But when I'm doing doing to my project Build>Build Solution I can't find any .dll files the the Debug directory.</p> <p>I'm using Visual Studio <code>C++</code> Express 2010.</p> <p>What am I missing here?</p> <p>OutPut Results:</p> <pre><code>&gt;------ Build started: Project: DSPlayer, Configuration: Debug Win32 ------ 1&gt;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&gt;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&gt;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&gt;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&gt; DSPlayer.vcxproj -&gt; D:\DSPlayer\DSPlayer\.\Debug\DSPlayer.dll ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== </code></pre> <p><img src="https://i.stack.imgur.com/Klxvn.jpg" alt="enter image description here"></p> <p>This are the two warnings:</p> <pre><code>1&gt;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&gt;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). </code></pre> <p>How and where do i have to fix this warnings ? can someone upload here a screenshot to show me how and where to do it ?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload