我正在研究的GitHub项目https://github.com/bluzelle/swarmDB提供了一个选项,可以在构建文件夹中安装Boost 1.70.0并从那里进行链接。
不幸的是,仅在macOS上,如果开发人员手动或通过brew安装了boost的早期版本(例如1.68.0),则include和lib文件位于
中。/ usr / local
导致编译器忽略build文件夹中的boost,因为它首先看到的是旧版本的boost。由于我们在boost 1.70.0中使用了新功能,因此导致难以诊断链接器错误(嗯,不是现在,我们知道问题出在哪里)。
此修补程序是要求开发人员删除旧版本的boost,更好的修补程序是忽略旧的boost包含文件夹和库。
我们如何让macOS c ++编译器忽略旧的boost版本的include文件夹和库,而转而使用build文件夹中安装的那些?