【发布时间】:2019-02-23 07:50:12
【问题描述】:
我使用的是 MACOS Mojave 版本 10.14.3,需要使用 GNU 编译器而不是 clang。
我使用brew install gcc 安装了 gcc 编译器。
然后我使用brew install fmt 安装了 fmt 库。
我将#include <fmt/format.h> 放在我的 C++ 脚本的顶部
然后我输入:
/usr/local/bin/g++-8 -O0 -g3 -Wall -c -fmessage-length=0 -std=c++17 -MMD -MP -MF"src/trail2.d" -MT"src/trail2.o" -o "src/trail2.o" "../src/trail2.cpp"
但是我得到这个错误:
fatal error: fmt/format.h: No such file or directory
当我尝试使用 boost 库时也会发生同样的情况。
当我使用clang时,发现fmt和boost都没有问题。
以防我将 Eclipse IDE 用于 C/C++ 开发人员。版本:2018-12 (4.10.0)。
具体来说,我怎样才能让 fmt 库与我用 brew 安装的 gcc 一起工作?
我的 Mac 中的 /usr/local/Cellar 是:
drwxr-xr-x 3 aaa staff 96 Feb 22 22:07 gcc
drwxr-xr-x 3 aaa staff 96 Feb 23 01:58 fmt
我的 Mac 中的 /usr/local/Cellar 是:
lrwxr-xr-x 1 aaa admin 29 Feb 22 22:07 c++-8 -> ../Cellar/gcc/8.2.0/bin/c++-8
lrwxr-xr-x 1 aaa admin 29 Feb 22 22:07 cpp-8 -> ../Cellar/gcc/8.2.0/bin/cpp-8
lrwxr-xr-x 1 aaa admin 29 Feb 22 22:07 g++-8 -> ../Cellar/gcc/8.2.0/bin/g++-8
lrwxr-xr-x 1 aaa admin 29 Feb 22 22:07 gcc-8 -> ../Cellar/gcc/8.2.0/bin/gcc-8
感谢高级的帮助
【问题讨论】:
-
这不是 GCC 的问题,而是安装了 library 的问题。如果它没有安装在“标准”位置,您必须告诉
g++前端程序在哪里可以找到头文件和库文件。使用-I(大写 i)选项指定头文件的安装位置,并使用-L和-l(小写 L)选项指定任何链接器库。 -
考虑到
/usr/local/Cellar的内容,我的猜测是你需要添加-I/usr/local/Cellar。因为我不知道brew在安装时如何组织它的包,也许像-I/usr/local/Cellar/fmt/include这样的东西?您可以在 Eclipse 项目设置中的某处添加目录(预处理器设置选项卡或类似选项?),但通常没有实际的-I选项。 -
嗨。我是 C++ 的新用户。你能帮我看看我的 g++ 命令行应该是什么样子吗?在
/usr/local/lib我有这个:lrwxr-xr-x 1 aaa admin 32 Feb 23 01:58 libfmt.a -> ../Cellar/fmt/5.3.0/lib/libfmt.a -
我的回答解决了你的问题吗?如果是这样,请考虑接受它作为您的答案 - 通过单击计票旁边的空心对勾/复选标记。如果没有,请说出什么不起作用,以便我或其他人可以进一步为您提供帮助。谢谢。 meta.stackexchange.com/questions/5234/…
标签: c++ macos gcc homebrew fmt