Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Winapi MIDI C++;程序-对的未定义引用midiOutGetNumDevs@0_C++_Winapi_Linker_Midi - Fatal编程技术网

C++ Winapi MIDI C++;程序-对的未定义引用midiOutGetNumDevs@0

C++ Winapi MIDI C++;程序-对的未定义引用midiOutGetNumDevs@0,c++,winapi,linker,midi,C++,Winapi,Linker,Midi,我正在写学士学位论文,在使用Windows MIDI时遇到了一些问题。我使用C++和代码块ID.< /P> 下面是来自类标题的代码 #ifndef MIDISENDER_H #define MIDISENDER_H #include <windows.h> #include <mmsystem.h> #pragma comment(lib, "winmm.lib") #include <iostream> using namespace std; c

我正在写学士学位论文,在使用Windows MIDI时遇到了一些问题。我使用C++和代码块ID.< /P> 下面是来自类标题的代码

#ifndef MIDISENDER_H
#define MIDISENDER_H


#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")

#include <iostream>

using namespace std;

class MidiSender
{
    private:
        HMIDIOUT devHandle;
        MIDIOUTCAPS devInfo;
        unsigned int totalDevs;
        vector <string> devList;

    public:
        MidiSender();

        void openDevice();
        void openDevice(unsigned int dev);
        void closeDevice();

    private:
        void getAllDevices();
        void setDevice(unsigned int dev);
};

#endif // MIDISENDER_H
\ifndef MIDISENDER\u H
#定义MIDIUH
#包括
#包括
#pragma注释(lib,“winmm.lib”)
#包括
使用名称空间std;
类MIDI发送器
{
私人:
德夫汉德尔;
MIDIOUTCAPS devInfo;
无符号整数totalDevs;
向量机;
公众:
midissender();
void openDevice();
void openDevice(未签名的int-dev);
无效关闭设备();
私人:
void getAllDevices();
void setDevice(未签名的int-dev);
};
#endif//midif\H
这是构造函数,出现问题的地方:

#include "midisender.h"

MidiSender::MidiSender()
{
    totalDevs=midiOutGetNumDevs();
    cout << "Total devices MIDI out: " << totalDevs << endl;
}
#包括“midissender.h”
midissender::midissender()
{
totalDevs=midiOutGetNumDevs();

如果你不是使用VisualC++,那么可能是不支持“γ”语用注释语句,而必须在命令行上链接WimM.LIB。我使用的是G++MIW编译器。所以我应该试试Visual C++编译器?不,你只需要指定-LWIMMM(或者-LWMM.LIB?)作为链接器选项。您的代码使用了mingw不支持的#pragma注释(lib,“winmm.lib”)。这就是链接器找不到该函数的原因。非常感谢…它现在可以工作了..它是-lwinmm链接器标志