apue.h 在 macOS 上

问题描述 投票:0回答:2

我按照以下步骤在 macOS 上安装 apue.h:

  1. make
    apue.3e
    文件夹中。这里没有错误。我也尝试了
    make CC=/usr/bin/clang
    作为另一个用户在另一个主题中的建议。
  2. 复制库:
sudo cp ./lib/libapue.a /usr/local/lib
sudo chmod 644 /usr/local/lib/libapue.a
sudo cp ./include/apue.h /usr/local/include
sudo chmod 644 /usr/local/include/apue.h
  1. 运行测试文件:
    gcc test.c -o test -lapue
    但是我收到以下错误:
    error: implicit declaration of function 'open' is invalid in C99

我不知道如何在 macOS 中正确安装库。我现在必须做什么?

测试.c:

#include <apue.h>
#include <stdio.h>

int main() {
        int fd = open("test.txt", O_CREAT);
        printf("Hello, world!\n");
        return 0;
}

嗯,好尴尬。该库已正确安装,我尝试使用

open
功能,因为我要求测试代码来聊天 GPT,它给我写了这段代码。很抱歉,感谢您的回复。

c libraries
2个回答
1
投票

open
是标准的UNIX调用,不是apue的一部分

int fd = open("test.txt", O_CREAT);

你需要包括它的标题

#include <fcntl.h>

https://man7.org/linux/man-pages/man2/open.2.html


0
投票

我不知道如何在 macOS 中正确安装库

要显示默认库目录,请运行:

clang -Xlinker -v

要查看包含路径,请运行:

clang -x c -v -E /dev/null | & grep '/include'

在 Intel 上,

/usr/local
路径可能不错。但是,在 Arm 上,您可能需要使用
/opt
.

另外,如果需要添加新的INCLUDE目录,设置一个环境变量:

CPLUS_INCLUDE_PATH=/opt/homebrew/include
© www.soinside.com 2019 - 2024. All rights reserved.