我有一个makefile,它是这样的:
install:
@somecommand
#some explanation for next command
@lastcommand
当我执行make install时,会打印注释#some explanation for next command。如何在未打印的makefile中进行注释?也许我正在寻找windowsy echo off的unix版本。
(实际上,与相反。)
我正在尝试部署一个Catalyst应用程序。我已经将所有内容都包含在Makefile.PL文件中,这应该足以安装在目标机器上。然而,当我尝试构建Makefile时,我得到了以下结果:
$ perl Makefile.PL
Bareword "WriteAll" not allowed while "strict subs" in use at Makefile.PL line 47.
Execution of Makefile.PL aborted due to compilation errors.
有人能说出我做错了什么吗?我已经安装了- Module::I
我刚开始艰难地学习C语言,现在正在做练习#2。
链接至此处:
其中的说明是创建一个仅包含以下内容的文件:
CFLAGS=-Wall -g
clean:
rm -f ex1
所以我创建了它并将其保存为Makefile.c,然而,在按照我的编译器(MINGW)中指定的方式运行它时,我得到了这个错误:
$make clean
cc makefile.c -o makefile
makefile.c:3:1: warning: data definition has no type or storage class [enabled by default]
在运行特定目标时,我试图要求在Makefile中设置一个环境变量。我正在使用来自的技术,在这里您设置了另一个目标,它将保证设置一个环境变量。
我的看起来是这样的:
require-%:
@ if [ "${${*}}" = "" ]; then \
$(error You must pass the $* environment variable); \
fi
通过该目标设置,预期如下:
$ make require-FOO
Makefile:3: *** You must pass the FOO environment var
我不熟悉make系统。当我尝试执行下面的程序时,没有出现任何问题:
./prog.out arg1 arg2 arg3
当我决定使用make时,我将以下脚本添加到了makefile中
parse ${parameters}:
./prog.out ${parameters}
这很奇怪,当它工作得很好;
make parse parameters="aaa bbb ccc"
这些字符:'(‘和')’会产生错误!
make parse parameters="( d , ( d , ( d , d ) ) )"
Makefile:7: t
我刚刚开始学习C语言,现在我已经到了想学习Makefile的地方了。我开始的规模很小,但已经失败了;)
我有一个非常简单的Makefile,它只是将main.c编译成main.o,然后再编译成可执行文件。但是我得到一个错误,说我有一个语法错误。我使用g++。
我使用的命令是:
g++ make Makefile << name of the make file
Makefile的设置如下:
main.o: main.c main.h
[TAB] g++ -c main.c
main: main.o
[TAB] g++ main.o -o main
当我的cpp文件名中有散列/磅/锐化(#)时,我得到类似如下的错误
Makefile:22669: warning: overriding recipe for target '.PHONY'
Makefile:22660: warning: ignoring old recipe for target '.PHONY'
Makefile:22678: warning: overriding recipe for target '.PHONY'
Makefile:22669: warning: ignoring old recipe for ta
我想将common.mk文件用于公共变量定义,并将该文件包含在其他Makefiles中,但在第一个示例中,我这样做了,它不起作用,所以我认为我误解了一些东西。
这是Makefile:
CC=gcc
CFLAGS=-g -Wall
LIB_FLAGS=-L/usr/local/lib/ -lcgreen
BUILDDIR=$(CURDIR)/build
SRC=$(wildcard *.c)
export BUILDDIR
export CFLAGS
export LIB_FLAGS
#include common.mk # HERE I INCLUDE THE common.mk w
CXX/LD -o .build_release/examples/cpp_classification/classification.bin
/usr/bin/ld: warning: libopencv_imgproc.so.3.2, needed by /usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_imgproc.so.2.4
/usr/bin/ld: warning: libopencv_core.so.3.2, needed by /usr/local/lib/libopencv_imgcodec
我最近正在阅读Microsoft编程,这里有一个关于makefile的问题,在第1章中,下面是makefile的部分:
# FILE NAME: Makefile
# Makefile for the arithmetic application
##
definitions for this makefile
#
APPL=arith
NTRPCLIBS=rpcrt4 . lib rpcns4.1ib libcmt.lib keme!32.1ib
# Include Windows NT macros
#
!include <ntwin32.mak>
我无法理解的是最后一行,为什