Questions tagged «makefile»

生成文件是构建控制语言/工具生成的输入文件。它指定目标和依赖项以及要执行的相关命令(又称为配方)以更新目标。




10
makefile:4:***缺少分隔符。停止
这是我的makefile: all:ll ll:ll.c gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $< clean : \rm -fr ll 当我尝试make clean或时make make,出现此错误: :makefile:4: *** missing separator. Stop. 我该如何解决?
472 c  makefile 

6
生成文件符号$ @和$ <是什么意思?
CC=g++ CFLAGS=-c -Wall LDFLAGS= SOURCES=main.cpp hello.cpp factorial.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=hello all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: $(CC) $(CFLAGS) $&lt; -o $@ 什么做的$@和$&lt;准确呢?
416 makefile 

11
“ make install”的反义词是什么,即如何在Linux中卸载库?
在跑步的时候 ./configure --prefix=/mingw 在我之前运行的库的MinGW / MSYS系统上 './configure --prefix=/mingw &amp;&amp; make &amp;&amp; make install' 我遇到了此消息: 警告:已经安装了Vamp插件SDK版本。如果您安装了新版本而不先删除旧版本,那么会感到担心和悲伤。(续) 这让我担心。“ make install”的反义词是什么,即如何在Linux中卸载库?“清洁”会完成这项工作吗,还是有其他步骤涉及?

14
如何在Mac OS X上发现*逻辑*内核的数量?
在运行Mac OS X时,如何从命令行知道计算机上有多少个内核?在Linux上,我使用: x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo) 这不是完美的,但是很接近。打算将其馈入make,这就是为什么它得出的结果比实际数字高1的原因。而且我知道上面的代码可以用Perl编写得更密集,也可以使用grep,wc和cut来编写,但是我认为上面的代码在简洁性和可读性之间取得了很好的折衷。 非常晚的编辑:只是为了澄清一下:我要问的是有多少逻辑核可用,因为这与我要make产生的并行作业数相对应。JKP的回答,由克里斯·劳埃德进一步细化,是正是我需要的。YMMV。
381 macos  makefile 

16
gcc makefile错误:“没有规则可以使目标……”
我正在尝试使用带有makefile的GCC(linux)来编译我的项目。 我收到以下错误,在这种情况下似乎无法破译: "No rule to make target 'vertex.cpp', needed by 'vertex.o'. Stop." 这是makefile: a.out: vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o g++ vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o main.o: main.cpp main.h g++ -c main.cpp vertex.o: vertex.cpp vertex.h g++ -c vertex.cpp edge.o: edge.cpp edge.h g++ -c num.cpp vlist.o: vlist.cpp vlist.h …
355 gcc  makefile 


13
将参数传递给“ make run”
我使用Makefiles。 我有一个run运行构建目标的目标。简化后,它看起来如下所示: prog: .... ... run: prog ./prog 有什么方法可以传递参数吗?以便 make run asdf --&gt; ./prog asdf make run the dog kicked the cat --&gt; ./prog the dog kicked the cat 谢谢!
354 makefile 


7
如何制作一个简单的C ++ Makefile
我们需要使用Makefile将所有内容整合到我们的项目中,但是我们的教授从未向我们展示如何使用。 我只有一个文件a3driver.cpp。驱动程序从位置导入一个类"/user/cse232/Examples/example32.sequence.cpp"。 而已。其他所有内容都包含在中.cpp。 我将如何制作一个简单的Makefile来创建一个名为的可执行文件a3a.exe?
302 c++  makefile 


7
如何强制make / GCC向我显示命令?
我正在尝试调试编译问题,但似乎无法获得GCC(或者可能是make ??)来向我展示其正在执行的实际编译器和链接器命令。 这是我看到的输出: CCLD libvirt_parthelper libvirt_parthelper-parthelper.o: In function `main': /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:102: undefined reference to `ped_device_get' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:116: undefined reference to `ped_disk_new' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:122: undefined reference to `ped_disk_next_partition' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition' collect2: ld returned 1 exit status make[3]: *** [libvirt_parthelper] Error 1 我想看的应该与此类似: $ make gcc -Wall …
276 gcc  makefile  verbosity 

13
操作系统检测makefile
我通常在几台不同的计算机和几种不同的操作系统上工作,它们是Mac OS X,Linux或Solaris。对于我正在从事的项目,我从远程git存储库中提取代码。 无论我在哪个终端上,我都希望能够从事自己的项目。到目前为止,我已经找到了通过在每次切换计算机时更改makefile来解决操作系统更改的方法。但是,这很繁琐,并且会引起很多头痛。 如何修改我的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 -l y 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 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.