[英]GCC / G++ path include flags starts with '='
我尝试编写独立于平台的构建文件(用于忍者)并尽量避免指定完整路径,例如D:/tools/x64/msys2/ucrt64/include/librsvg-2.0
或/usr/include/librsvg-2.0
。
GCC 文档说
如果 dir 以 '=' 或 $SYSROOT 开头,则 '=' 或 $SYSROOT 将替换为 sysroot 前缀; 请参阅 --sysroot 和 -isysroot。
但是在具有 MSYS2 环境的 Windows 上,当我设置诸如-I=librsvg-2.0
或-I=/librsvg-2.0
之类的标志时,它没有任何效果。 这可能是 MSYS2 的唯一行为,还是我做错了什么?
嗯,GCC 有自己的系统包含路径,但它没有默认的 $SYSROOT 值。 所以首先你需要使用--sysroot=your_path
标志来设置它,如果你想使用-I=
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.