【发布时间】:2023-03-03 13:46:01
【问题描述】:
我一直在尝试安装一个库 (gzstream),它由一个 .C、一个 .h 和一个适当的 makefile 组成。为了能够使用 gzstream.C 使用的 #include <gzstream.h>,我将 gzstream.h 文件放在 /usr/local/include 中,将 gzstream.C 放在 /usr/local/lib 中。
当我尝试编译 aufgabe2.cpp 时,我在终端上收到以下错误消息。 aufgabe2.cpp:1:22: fatal error: /usr/local/include/gzstream.h: Permission denied
compilation terminated.
我做错了什么?
【问题讨论】:
-
你没有有把它放在那里。您可以告诉编译器在别处寻找
#inlcude文件。但是,该文件现在有什么权限?因为我相信/usr/local/include/应该具有全面的读取权限,除非您将该文件作为 root 移动。如果您想在不经过该目录的情况下包含某些内容,请使用g++ -I<directory>考虑:Tell g++ where to find includes -
我对 linux 系统没有那么丰富的经验,所以我不知道您所说的“以 root 身份移动该文件”是什么意思。我通过命令
gksudo nautilus将.h 文件放在usr/local/include/中,然后将文件复制粘贴到所述目录中。运行你给我的命令,返回以下错误g++: fatal error: no input files
标签: c++ linux static-libraries