如何使用mingw64正确配置g++包含路径?



我安装了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本身。

下面是一个Bash命令示例,您可以使用它来编译单个文件程序:
g++ foo.cpp $(pkg-config --cflags --libs openblas) -o foo

最新更新