首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译Allegro5 c++程序的Makefile

编译Allegro5 c++程序的Makefile
EN

Stack Overflow用户
提问于 2015-09-07 18:07:14
回答 1查看 858关注 0票数 2

我用快板5库在c中写了一个小游戏。我需要在一个通用的linux环境上编译和运行它,所以我尝试做一个makefile来方便地编译它。

代码语言:javascript
复制
CFLAGS = -Wall -c
EFLAGS =
EOPTION = `pkg-config --cflags --libs allegro-5.0 allegro_primitives-5.0 allegro_font-5.0 allegro_audio-5.0 allegro_ttf-5.0 allegro_image-5.0 allegro_acodec-5.0` -lm
OBJFOLD = objectfiles
SOURCE = #all my source codes.
OBJECT = #all my object files.
EXC = Foo

all: $(SOURCE) $(EXC)

$(EXC): $(OBJECT)
    gcc $(EFLAGS) -o $(EXC) $(OBJECT) $(EOPTION) 

$(OBJFOLD)/%.o: %.c
    gcc $(CFLAGS) $< -o $@

$(OBJFOLD)/%.o: libraries/%.c
    gcc $(CFLAGS) $< -o $@

它可以在我的计算机上正常工作,我在其中安装了Alle格罗5库,但是我需要它在Linux操作系统上工作,只运行make文件(所以每次都不用安装Alle格罗5)。我的项目文件夹的结构是:

代码语言:javascript
复制
- Project
    -allegro5
    -bin
    -fonts
    -images
    -include
    -libraries
    -objectfiles
    -sounds

因此,我在$(OBJFOLD)/%.o目标的指令中添加了‘-Iallegro5 5/include’选项,但是当我尝试运行makefile时,它会返回:

代码语言:javascript
复制
$ make -f Makefile
gcc -Wall -c Main.c -o objectfiles/Main.o -Iallegro5/include
In file included from allegro5/include/allegro5/internal/alconfig.h:35:0,
                 from allegro5/include/allegro5/base.h:50,
                 from allegro5/include/allegro5/allegro.h:26,
                 from Main.c:3:
allegro5/include/allegro5/platform/almngw32.h:23:20: fatal error: direct.h: No such file or directory
 #include "allegro5/platform/alplatf.h"
                                       ^
compilation terminated.

我觉得我走错路了,有人能帮我吗?

我现在正在Windows上开发Cygwin环境,并从这里下载我的“这里”文件夹。我更喜欢用makefile来解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-07 18:57:12

不应该是-包括吗?(大写i,不小L)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32444062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档