Tag: makefile

使用make在linux上编译驱动程序

这个错误信息是什么意思? 我正在尝试运行make。 看起来缺少配置。 配置是内核源的一部分? make -C /lib/modules/4.2.0-19-generic/build SUBDIRS=/home/glochild/Downloads/AX88179_178A_LINUX_DRIVER_v1.10.0_SOURCE modules make[1]: Entering directory ‘/usr/src/linux-headers-4.2.0-19-generic’ CC [M] /home/glochild/Downloads/AX88179_178A_LINUX_DRIVER_v1.10.0_SOURCE/ax88179_178a.o /home/glochild/Downloads/AX88179_178A_LINUX_DRIVER_v1.10.0_SOURCE/ax88179_178a.c:55:6: error: macro “__TIME__” might prevent reproducible builds [-Werror=date-time] ” ” __TIME__ ” ” __DATE__ “\n” ^ /home/glochild/Downloads/AX88179_178A_LINUX_DRIVER_v1.10.0_SOURCE/ax88179_178a.c:55:19: error: macro “__DATE__” might prevent reproducible builds [-Werror=date-time] ” ” __TIME__ ” ” __DATE__ “\n” ^ cc1: some warnings being treated […]

如何从一个makefile构建多个目标

我正在尝试参数化我的makefile目标。 目前,它有一个 TARGET = main 靠近顶部的声明。 它从中获取SRC列表以及执行许多其他操作。 我已经改变了我的C代码,因此我有多个不同的顶级.c文件基本上可以获得变体版本。 所以我想要做的就是做 make target1 要么 make target2 并且改变了makefile中设置TARGET内容。 我很困惑如何实现这一目标。 我想我可能会添加类似的东西 target1: all TARGET=target1 但这似乎并没有太好用。 对于如何做到这一点,是否存在一般模式?

在项目中没有Makefile.am的Makefile.in

在几个项目中,我看过没有Makefile.am的Makefile.in。 例如bash http://git.savannah.gnu.org/cgit/bash.git/tree/和dtach http://dtach.cvs.sourceforge.net/viewvc/dtach/dtach/ 我一直认为Makefile.in是由automake生成的。 另外,Makefile.am是用户编写的文件,我不认为它会从代码库中省略。 在bash源代码树中,Makefile.in太大而无法手写,而dtach中的Makefile.in也会生成。 Makefile.in是如何在这两个项目中生成的?

Makefile问题 – 读者的致命错误

我正在为学校项目创建的makefile遇到一些问题。 我正在编译和组装C文件和SPARC程序集文件(分别)并链接它们。 我在Unix环境中工作。 这是makefile: proj09.exe: proj09.driver.o proj09.support.o gcc -Wall proj09.driver.o proj09.support.o -o proj09.exe proj09.driver.o: proj09.driver.c /user/cse320/Projects/project09.support.h gcc -Wall -c proj09.driver.c /user/cse320/Projects/project09.support.h proj09.support.o: proj09.support.s gcc -Wall proj09.support.s 但是,当我试图制作它时,我得到一个读者错误,特别是: “阅读器中的致命错误:proj09.makefile,第2行:看到意外的行尾” 现在我知道通常这意味着某些内容格式不正确,但我不知道在这种情况下它可能是什么。 另外,我不是100%确定这是makefile的正确代码(特别是我的support.s文件的汇编,以及两个文件的链接)。 如果这是一个重复的问题,我道歉,我事先查看了档案,找不到任何有用的东西。 任何帮助将不胜感激! 编辑:我不明白为什么这会有所作为,但我使用gedit实际编写代码,然后将文件传输到SSH进行链接。

使用ffmpeg安装Open-CV时出错

我正在尝试在Ubuntu 11.04上安装Open-CV库。 我按照InstallationGuide中的所有说明进行操作。 但是在成功安装后我意识到我没有FFMPEG支持,因为在我的配置文件中禁用了FFMPEG : Video I/O: — DC1394 1.x: NO — DC1394 2.x: YES — FFMPEG: NO — codec: YES — format: YES — util: YES — swscale: NO — gentoo-style: YES — GStreamer: YES — UniCap: NO — PvAPI: NO — V4L/V4L2: Using libv4l — Xine: NO 所以我尝试在安装FFMEPG之后重建所有内容,如此处所述 。 使用该指令配置安装后 cmake -D CMAKE_BUILD_TYPE=RELEASE […]

无法运行程序“make”:系统找不到指定的文件?

这是第一次出现此错误。 我正在使用Cygwin和Eclipse 3.5并且我的Path变量设置为: %CommonProgramFiles%\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Apache Ant\bin;C:\Program Files\SVN\bin;C:\Program Files\Java\jdk1.6.0_18\bin;C:\Users\Mohit\Developer\AndroidSDK\tools;C:\Program Files\QuickTime\QTSystem\;C:\cygwin\bin请注意, C:\cygwin\bin在我的Path中。 而make.exe是我的Cygwin bin。 所以我认为问题不在于我的系统,而在于我的项目。 但我发现它没有任何问题。 有什么建议?

Makefile vpath不适用于头文件

我试图在我的Makefile中使用vpath,以避免为每个源文件添加目录名前缀。 但我不能让它正常工作。 这是Makefile: CC=gcc -Wall vpath %.h include vpath %.c src all: main.c Event.o Macros.h $(CC) $< Event.o -o test/a.out Event.o: Event.c Event.h Macros.h $(CC) -c $< -o $@ 正确包含src目录。 即,通过gcc找到Event.c文件。 但是Event.h和Macros都没有。 我在gcc中遇到错误,说在编译Event.c时找不到这两个文件。 我尝试一次将C文件中的#include指令更改为其中的每一个。 #include “Event.h” /* doesnt work */ #include /* doesnt work */ #include “../include/Event.h” /* works */ 你能帮帮我解决这个问题吗? 我真的想避免在每个源文件之前使用目录名,因为我的实际Makefile比这大。

Makefile:将C代码转换为mex代码(链接错误)

我有一个使用makefile C-code which works fine的C-code which works fine 。 现在,我正在尝试convert it to mex文件,以便我可以从Matlab运行它。 在这里,我正在using makefile approach 。 但是,mex的makefile给了我错误。 这是我要与我的mex文件一起编译的tsnnls lib 。 C项目组织: tsnnls_test_DKU.c Include_4_TSNNLS.c Include_4_TSNNLS.h “ Include_4_TSNNLS.* ”文件具有调用第三部分库的函数TestingLibraries() ; 而我试图保持“ tsnnls_test_DKU.c ”非常简单,因为: 原始代码:tsnnls_test_DKU.c int TestingLibraries() ; int main( int argc, char* argv[] ) { int k = TestingLibraries() ; return(1); } 现在,代码已更改: 更改的代码:tsnnls_test_DKU.c: #include “mex.h” […]

使用make文件在不同的目录中编译文件

好吧,我从来没有能够掌握制作和制作文件。 我试过没有运气阅读联机帮助页。 所以我来到这里:L 我有一堆文件开始在一个文件中非常不受管理。 (我正在尝试创建一个操作系统)我想尝试将这些文件拆分为单独的子目录(参见下面的结构),然后告诉make将’make’文件放入他们的.o文件中,将它们移动到另一个文件中单独的子目录,最后以内核文件结束。 (对不起,如果这听起来很复杂,希望这个结构有助于让事情变得更清晰) 所以这是我想要的结构树: Parent directory ( where the makefile will be ) | | ————————————————————————- | | | | | Header SubDir Source SubDir ASM SubDir Obj SubDir Kern SubDir (Header files ) (Source Files) (Assembly Files) (Object Files) (Kernel File) 这是我目前的makefile: C_SOURCES= main.c S_SOURCES= boot.s C_OBJECTS=$(patsubst %.c, obj/%.o, $(C_SOURCES)) S_OBJECTS=$(patsubst […]

找不到指向Makefile的库文件

我正在尝试编译此工具。 下面是Makefile的开头: CC = gcc CFLAGS = -Wall -O2 -D TRACES DFLAGS = -g -Wall -o0 CPPFLAGS= $(INCLUDES:%=-I %) LDFLAGS = $(LIBRARIES:%=-L %) LDLIBS = $(USED_TOOLS:%=-l%) MY_FILES = INCLUDE_DIR = ~/include TOOLBOX_INC = $(INCLUDE_DIR)/tools TOOLBOX_LIB = $(TOOLBOX_INC) USED_TOOLS = std_io stringutils INCLUDES = $(TOOLBOX_INC) LIBRARIES = $(TOOLBOX_LIB) 我还有〜/ include / tools,编译后包括std_io.o,libstd_io.a,stringutils.o和libstringutils.a 我收到以下错误: gcc -L ~/include/tools […]