我安装了msys2/mingw64,因为我需要g++编译器。现在,我想编译一些需要openblas的c++代码。我已经使用pacman -S mingw-w64-x86_64-openblas
安装了这个包。但是,使用
致命错误:cblas.h: No such file or directory
显然,include路径不包含位于C:msys64mings64includeopenblas
的openblas的头文件。这很容易通过将-I<include path>
作为附加参数传递给g++
来修复。
现在,我想知道是否有一种自动的方法来包括g++
包含路径中安装的包的包含文件/头。同样的问题也存在于库中。
例如,pacman
可以自动将这些路径附加到g++
检查的环境变量上。
在MSYS2和其他类unix系统上获取库的编译和链接选项的标准方法是运行以下命令:
pkg-config --cflags --libs openblas
如果你只是编译,使用--cflags
本身。
如果你只是链接,使用--libs
本身。
g++ foo.cpp $(pkg-config --cflags --libs openblas) -o foo