我有三个文件: program.c , program.h和headers.h 。 program.c包含program.h和headers.h 。 我需要使用gcc编译器在Linux上进行编译。 我不知道如何做到这一点。 Netbeans为我创造了一个,但它是空的。
我正在开发一个Qt程序。 它的makefile是从.pro文件自动生成的。 我需要使用一些需要为g ++设置-std = c ++ 11标志的代码。 .pro应该在哪里添加这个标志? (只改变Makefile将不会工作,因为它被新生成的,每次我build立项目覆盖)。
我有一个项目的目录结构是这样的: $projectroot | +—————+—————-+ | | | part1/ part2/ part3/ | | | +——+—–+ +—+—-+ +—+—–+ | | | | | | | data/ src/ inc/ src/ inc/ src/ inc/ 我应该如何编写一个部分在/ src(或真正在哪里)可以在/ c ++源文件/ / src中完成/链接的makefile? 我可以做一些像-I $ projectroot / part1 / src -I $ projectroot / part1 / inc -I $ projectroot / part2 […]
.PHONY在Makefile中意味着什么? 我已经经历了这个 ,但是太复杂了。 有人可以用简单的语言来解释一下吗?
我经常在几台不同的计算机和几种不同的操作系统上工作,这些操作系统是Mac OS X,Linux或Solaris。 对于我正在处理的项目,我从远程git存储库中提取代码。 我喜欢能够在我的项目上工作,无论我在哪个terminal。 到目前为止,我已经find了通过每次切换计算机时更改makefile来解决操作系统更改的方法。 然而,这是乏味的,并导致一堆头痛。 我怎样才能修改我的生成文件,以便它检测到我使用的操作系统,并相应地修改语法? 这里是makefile: cc = gcc -g CC = g++ -g yacc=$(YACC) lex=$(FLEX) all: assembler assembler: y.tab.o lex.yy.o $(CC) -o assembler y.tab.o lex.yy.o -ll -ly assembler.o: assembler.c $(cc) -o assembler.o assembler.c y.tab.o: assem.y $(yacc) -d assem.y $(CC) -c y.tab.c lex.yy.o: assem.l $(lex) assem.l $(cc) -c lex.yy.c clean: rm -f […]
任何人都可以清楚地说明variables赋值在Makefiles中是如何工作的。 有什么区别: VARIABLE = value VARIABLE ?= value VARIABLE := value VARIABLE += value 我已经阅读了GNU Make手册中的部分 ,但对我仍然没有意义。
我们被要求使用一个Makefile来为我们的项目把所有东西都拉到一起,但是我们的教授从未向我们展示过如何去做。 我只有一个文件, a3driver.cpp 。 驱动程序从位置"/user/cse232/Examples/example32.sequence.cpp"导入一个类。 就是这样,其他所有东西都包含在.cpp 。 我将如何去做一个简单的Makefile来创build一个名为a3a.exe的可执行文件?
比方说,我有一个makefile的规则 %.o: %.c gcc -Wall -Iinclude … 我希望* .o在头文件改变的时候重build。 而不是制定一个依赖关系列表,只要/include任何头文件发生变化,就必须重builddir中的所有对象。 我想不出一个很好的方法来改变这个规则,我愿意提供build议。 如果标题列表不需要硬编码,奖励点数
我正在尝试编写一个使用macros从一个多个文件创build多个可执行文件的makefile。 我试着通过以前回答的问题寻找,但是,因为我对C编程和gcc工作相当新,我无法find我的问题的答案。 这是我到目前为止: CC=gcc CFLAGS=-I. OBJ = ex1.c ex3.c EXECUTABLE = ex1 ex3 $(EXECUTABLE): $(OBJ) gcc -o $@ $^ $(CFLAGS) clean: rm -f $(EXECUTABLE) 我想要这条线 $(EXECUTABLE): $(OBJ) 分别从文件ex1.c ex3.c创build可执行文件ex1和ex3。
^这不是一个重复的问题^ 更新 : 我对编程相当陌生,而现在我只是碰到了makefile。 在过去的几个月里,我已经从各种地方下载了大量的教程和源代码。 直到现在我只使用VS解决scheme,并一直在避免它们。 我已经看到了在谷歌上使用Makefiles的多种方法,但它们的复杂性都不相同。 我不知道他们或如何使用他们的线索。 谢谢。 编辑(重新措辞): 总而言之,由于明显的混淆,我的问题是(而且总是): 1) Is there a good tutorial that comes recommended or is it easy to get started with Makefiles? 2) How do you launch and run an existing Makefile? And, 3) Do Makefiles hold any vital data about the program or could I just use […]