【发布时间】:2020-04-12 20:56:07
【问题描述】:
我的 Linux 电脑上有一个 Makefile。我也想在 MacOS 上构建和运行相同的程序。如何编辑以下 Makefile ?
我想编译一个具有图形库 EGGXProCALL JAXA "eggx.h" 的头文件的 C 程序。 我已经安装了 Xcode,XQuartz。
我已经在以下目录安装了 EGGX 文件。
[Home@/opt/eggx]$
我在以下目录中有一个 C 文件。
[Home@~/Desktop/development]$
我已经检查了以下内容。
① gcc 在这里工作正常[Home@~/Desktop/development]$
②即使是显示数字时钟的示例程序, 当前目录为 [Home@/opt/eggx]$
时③ 问题
当我尝试使用我在 Linux 中拥有的 makefile 从 [Home@~/Desktop/development]$ 构建 [make] 程序时。
我总是收到以下错误消息。
[Home~/Desktop/development]$ sudo make
gcc -c main.c
main.c:7:10: fatal error: 'eggx.h' file not found
#include <eggx.h>
^~~~~~~~
1 error generated.
make: *** [main.o] Error 1
[Home@~/Desktop/development]$
这是 Makefile
# Makefile
OBJS = main
$(OBJS): $(OBJS).o
# gcc -O2 -Wall $(OBJS).c -o $(OBJS) -I/usr/local/include -L/usr/local/lib64 -leggx -lX11 -lm
gcc $(OBJS).c -o $(OBJS) -I/usr/local/include -L/usr/local/lib64 -leggx -lX11 -lm
$(OBJS).o: $(OBJS).c
gcc -c $(OBJS).c
.PHONY: clean
clean:
rm -f $(OBJS) $(OBJS).o
【问题讨论】:
-
这个问题与your previous question 有何不同?不要多次发布同一个问题。
-
尝试构建时有什么问题?编译、链接、执行?
-
这意味着你必须使用
gcc -I/usr/local/eggx-0.93r5 ... -
这意味着您需要使用
gcc -I/usr/local/eggx-0.93r5 -L/usr/local/eggx-0.93r5 -l eggx main.c -o program以及我在另一个问题中给您的 X11 的其他标志。