MuseScore项目中跨文件夹引用头文件的无依赖实现方案咨询
跨路径引用头文件的最简解决方案
直接使用根目录相对路径引用
MuseScore的编译配置默认会将项目根目录(src的父目录)纳入头文件搜索路径,你可以在noteinputcursor.cpp里直接用从当前文件出发的相对路径引用目标头文件:
#include "../../engraving/libmscore/stringdata.h"
这种方式不需要修改任何编译配置、环境变量或依赖,只要项目目录结构保持一致,全球所有编译者都能正常编译,且除了你和代码审核人员外,几乎不会有人留意到这个引用细节。
补充说明
- 若
stringdata.cpp中的品丝相关数值是内部变量,需要先在stringdata.h中声明其外部可见性(比如添加extern关键字),确保noteinputcursor.cpp能正常访问。 - 该方案依赖项目核心模块目录结构的稳定性,而MuseScore的
engraving和notation模块目录属于基础架构,通常不会随意变更,兼容性有保障。
内容的提问来源于stack exchange,提问作者Variance Within Allan
相关产品推荐
相关产品推荐

