C++ 未定义对 MIDI 函数的引用

标签 c++ reference undefined midi

我只想打印连接的 MIDI 输入的数量。我究竟做错了什么?

使用 Code::Blocks 和 GNU GCC 编译器。

#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>

int main() {
    printf("%d", midiInGetNumDevs());
    return 0;
}

我在编译时得到对“midiInGetNumDevs@0”的 undefined reference

midiInGetNumDevs

最佳答案

您需要与 winmm.lib 链接。在 Visual Studio 中,您可以通过将其添加到项目属性中的附加依赖项来执行此操作。

右键单击该项目,选择属性,然后选择链接器,然后选择输入。将 winmm.lib 添加到 Additional Dependencies 的文件列表中。

编辑:刚刚注意到您正在使用 GCC。在这种情况下,也许评论中链接的解决方案会更好。在标题后添加 #pragma comment(lib, "winmm.lib")

关于C++ 未定义对 MIDI 函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483083/

相关文章:

c++ - 相等 vector 的返回值 std::mismatch

c++ - 编写一个将链表中的两个节点组合在一起的函数

java - 将 ArrayList 引用传递给另一个类

reference - 函数参数如何允许突变变量但不能指向任何其他变量?

c++ - 函数运算符的 undefined reference >>

php - Rand(Min, Mx) undefined variable

c++ - 较大的对象复制速度是否较慢(C++)?

c++ - 从 C++ 中的字符串中删除所有字符(a-z,A-Z)

ruby-on-rails - rails 错误: undefined method ` ' for nil:NilClass

c++ - "error: no matching function for call to"构造函数错误