mciSendString erzeugt Fehler



  • #pragma comment( lib,winmm.lib)
    
    #include <string>
    #include <windows.h>
    #include "mmsystem.h"
    #include "STRINT.h"
    #include "Std_System_String.h"
    
    bool PlayFromHD()
    {
    	int from = 0;
    	std::string fromstr;
    	std::string mci, mci2;
    	mci = "open ";
        mci += "\"";
        mci += "RATARA.mp3";
        mci += "\"";
        mci += " alias MP3 wait";
    	String^ MCS = gcnew String(mci.c_str());
        mciSendString((LPCWSTR) StringConvT(MCS), 0, 0, 0);
        fromstr = IntToStr(from);
        mci2 = "play MP3 from ";
        mci2 += fromstr;
    	MCS = gcnew String(mci2.c_str());
        mciSendString((LPCWSTR) StringConvT(MCS), 0,0,0);
    	return true;
    }
    

    Fehler:

    1>Key Generator VC++ Version.obj : error LNK2028: Nicht aufgelöstes Token (0A00008B) ""extern "C" unsigned long __stdcall mciSendStringW(wchar_t const *,wchar_t *,unsigned int,struct HWND__ *)" (?mciSendStringW@@$$J216YGKPB_WPA_WIPAUHWND__@@@Z)", auf das in Funktion ""bool __clrcall PlayFromHD(void)" (?PlayFromHD@@$$FYM_NXZ)" verwiesen wird.
    1>Key Generator VC++ Version.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" unsigned long __stdcall mciSendStringW(wchar_t const *,wchar_t *,unsigned int,struct HWND__ *)" (?mciSendStringW@@$$J216YGKPB_WPA_WIPAUHWND__@@@Z)" in Funktion ""bool __clrcall PlayFromHD(void)" (?PlayFromHD@@$$FYM_NXZ)".
    1>D:\VC++ Programme\Key Generator VC++ Version\Debug\Key Generator VC++ Version.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://d:\VC++ Programme\Key Generator VC++ Version\Key Generator VC++ Version\Debug\BuildLog.htm" gespeichert.
    1>Key Generator VC++ Version - 3 Fehler, 2 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    Ich hasse solche Fehler, weil ich sie nie zu beheben weiß

    EDIT: im zweifelsfall nach CLI .NET



  • Nach den Fehlermeldungen zu urteilen, ist die winmm.lib nicht eingebunden. Entweder hast Du sie nur im Release und nicht in der Debug Version eingebunden (zumindest ist das bei meinem VC6 so möglich) , oder aus irgendeinem Grund nimmt Dein Linker sie nicht auf.



  • Oder am eingestellten Characterset... ?

    Auf was steht das zurzeit in deinem Projekt ??
    Bin grad etwas verwirrt durch die Casterei nach LPCWSTR auf der einen Seite und Verwendung von std::string usw. auf der anderen Seite...



  • ja war nur im Release mit drin danke, das hatte ich vergessen.

    EDIT: kann ich diese Sch**** umstellen ? Das wusste ich nicht, ich hab immer in LPCWSTR umgewandelt



  • ich glaub das hab ich schon mal irgendwo hingespammt ( 😃 ), aber lässt sich mit mciSendString aus der ressourcendatei lesen ? oder kann ich wenigstens die Ressource lesen, das in eine Datei schreiben, diese abspielen und wieder löschen.
    ????


Anmelden zum Antworten