我试图添加一个新的库/头文件,但似乎破坏了 gcc。具体来说,我使用了以下命令:
$ sudo cp mylib.h /usr/local/include
这似乎用文件替换了 /usr/ 目录,因为我在尝试编译简单程序时收到以下错误
cc1: error: /usr/local/include: not a directory
我找不到文件或目录,但我又不知道该去哪里找。有没有办法重新创建 /usr/local/include 目录?我可以直接重新安装 gcc 吗?
PS 我知道使用 sudo 是个愚蠢的错误。我当时只是傻傻地按照网上找到的一些说明操作。
如果有任何关于我应该去哪里寻找的建议,我将非常感激。
[编辑] 我正在使用 mac OSX 10.6。
答案1
听起来你一/usr/local/include
开始没有;所以该命令会创建它,作为你想要复制的文件。要解决这个问题:
sudo mv /usr/local/include /usr/local/mylib.h
sudo mkdir /usr/local/include
sudo mv /usr/local/mylib.h /usr/local/include
(我强烈建议您首先验证这一点,因为您应该第一次就验证过。
file /usr/local/include # should say "C program text" or similar
less /usr/local/include # should be your mylib.h
)
答案2
如果 /usr/local/include 以前存在,简单地重新安装 gcc 并不是完整的解决方案。
如果您安装了任何其他 *-devel 库,您也必须重新安装它们。
答案3
在终端中输入命令“defaults write com.apple.finder AppleShowAllFiles TRUE”,然后输入“killall Finder”。现在您应该能够在启动驱动器的根目录中看到 usr 目录。如果您已用文件替换了 usr 目录,则可能需要查找它的副本。