通过 Makefile 编译 2 个文件不起作用
Compile 2 files via Makefile doesn't work
我想一次编译两个.cpp文件。 gstapp.cpp正在编译,知道.cpp被忽略。我忽略了什么?
制作文件:
# generated from pkg-config --cflags gstreamer-0.10
CFLAGS=-pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
# generated from pkg-config --libs gstreamer-0.10
LDFLAGS=-lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0 -lxml2 -lgstapp-0.10
CFLAGS+=-I/usr/include/opencv2
# there are more, but not needed form now: -lopencv_calib3d -lopencv_contrib -lopencv_flann -lopencv_obj
LDFLAGS+=-lstdc++ -lopencv_core -lopencv_features2d -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_video
gstapp: gstapp.o
gcc $(LDFLAGS) -o $@ $<
gstapp.o: gstapp.cpp
gcc -c $(CFLAGS) -o $@ $<
gnew: gnew.o
gcc $(LDFLAGS) -o $@ $<
gnew.o: gnew.cpp
gcc -c $(CFLAGS) -o $@ $<
您可能希望使用all
规则来触发两者的编译。通过只运行没有参数的make
,它将运行它遇到的第一个规则(例如 gstapp:
),然后退出。
所以在LDFLAGS和gstapp线之间放
all: gstapp gnew
然后,第一个(也称为默认)规则将同时将两个文件作为依赖项,并在您运行make
或make all
时编译两者。
相关文章:
- SFML 加载从文件不起作用,奇怪的错误
- 为什么写入文件不起作用
- Opencv ml 头文件不起作用
- 将数组保存到二进制文件不起作用 c++
- C++输出流到文件不起作用
- 使用 bazel 构建 TensorFlow C++调用模型时,.so 文件不起作用
- C++接口(标头)和实现文件不起作用
- 二进制文件:ios ::二进制文件不起作用
- 解密AES-256加密文件不起作用
- MinGW .h 编译文件不起作用:此文件的版本与您运行的 Windows 版本不兼容
- 在 Linux 中使用 C++ 列出目录的所有文件不起作用
- 以二进制模式写入文件不起作用
- Android NDK 中的某些 c++ 包含文件不起作用
- 通过 Makefile 编译 2 个文件不起作用
- 标头和源类文件不起作用
- 线程清理器的抑制文件不起作用:出了什么问题
- 我的生成文件不起作用
- c++fileIO创建/打开文件不起作用
- C++ 使用文件不起作用初学者
- 在QtCreator中逐行读取文本文件不起作用