如何将RtMidi.cpp和RtMidi.h添加到Visual Studio 2019项目中
RtMidi 项目集成问题排查方案
- 首先确认平台专属编译宏配置
RtMidi 依赖系统原生 MIDI API 实现功能,仅添加源文件和头文件时必须传入对应平台的预编译宏,否则会出现类声明缺失、符号未找到等错误,各平台必填配置如下:- Windows 平台:添加预编译宏
__WINDOWS_MM__,同时在链接器附加依赖项中加入winmm.lib - macOS 平台:添加预编译宏
__MACOSX_CORE__,同时链接 CoreMIDI、CoreAudio、CoreFoundation 三个系统框架 - Linux 平台:添加预编译宏
__LINUX_ALSA__,同时链接 asound 库
- Windows 平台:添加预编译宏
- 检查头文件引用路径配置
若你将 RtMidi 源码放在项目子目录中,需要在项目属性的「C/C++ > 常规 > 附加包含目录」中添加 RtMidi.h 所在的文件夹路径,代码中引用时使用#include "RtMidi.h"而非尖括号引用,避免编译器从系统路径搜索导致找不到头文件。 - Windows 平台额外检查运行时库匹配
如果你之前尝试过链接预编译的 RtMidi 静态/动态库,现在改为直接编译源码,需要确保项目的运行时库选项(MT/MD/MTd/MDd)与之前的配置完全一致,否则会出现符号冲突、链接失败的问题。 - 排查类调用的基础逻辑问题
RtMidiIn、RtMidiOut 的默认构造函数会抛出异常,如果你没有添加 try-catch 捕获对应异常,运行时会直接崩溃。如果不希望使用异常处理逻辑,可以在构造实例时传入RtMidi::UNSPECIFIED作为错误处理参数,后续通过返回值判断调用是否成功。
内容的提问来源于stack exchange,提问作者Emmanuel Joseph
相关产品推荐
相关产品推荐

