make指定位置路径编译
make指定位置路径编译
https://wenku.csdn.net/answer/b2af23a821ef40c085b53bb4c121a13d
要在 make 命令中设置头文件路径,您可以使用 -I 选项。例如,如果您的头文件位于 /path/to/include 目录中,您可以使用以下命令:
make -I/path/to/include
这将告诉 make 命令在编译期间将 /path/to/include 目录包含在头文件搜索路径中。
如果您有多个头文件目录,您可以使用多个 -I 选项指定它们,例如:
make -I/path/to/include -I/other/include/path
https://blog.csdn.net/xiaopang1122/article/details/50599586
makefile 指定库的路径
现有libmad交叉编译后安装于:/home/andy/share/libmad_install目录
现在应用程序miniplayer位于:/home/andy/share/mini_player目录
mini_player中的makefile里,怎么指定libmad库和mad.h头文件的路径呢?
指定 头文件用
-I /home/andy/share/mini_player
指定 库文件: -L 后面是具体的目录。
-L /home/andy/share/libmad_install
makefile如下,先编译完,拷到arm板上运行时提示:
/flac_app: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
这些lib我已经拷到板上的/lib里了,怎么会找不到
#
# Makefile for the CAMERA Application.
#
#以下是指定编译器路径
CC = /opt/armv6/codesourcery/bin/arm-none-linux-gnueabi-gcc
#以下是指定编译需要的头文件
CFLAGS = -g -Wall -O0 -I/home/andy/share/alsalib/include -I/home/andy/share/libmad_install/include
#以下是源文件
SRCS = main.c miniplayer_decode.c miniplayer_play.c
#以下是指定需要的库文件
LIBS = -L/home/andy/share/libmad_install/lib -lmad -L/home/andy/share/alsalib/lib -lasound
#以下是指定目标文件 所有当.c文件变成.o文件
OBJS = $(SRCS:.c=.o)
#以下是生成可执行文件
EXECUTABLE = flac_app
#make all 执行生成可执行文件
# 1编译器 2编译选项 3输出 4生成的可执行文件 5需要的源文件 6需要当库文件
all:
$(CC) $(CFLAGS) -o $(EXECUTABLE) $(SRCS) $(LIBS)
#make clean 删除所有的.o文件 和生成的可以执行文件
clean:
rm -f $(OBJS) flac_app
自适应IP