我有一个看起来像这样的生成文件。
DEFINES=-std=c++0x
INCS_GTK=-I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gtk-2.0/gdk -I/usr/include/pango-1.0 -I/usr/lib/gtk-2.0/include -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
INCS=-I/usr/include/freetype2 -I/usr/include/mysql -Iframeworks ${INCS_GTK}
LDLIBS=-lconfig++ -lcxcore -lcv -lGL -lGLU -lglut -lhighgui -lSDL -lftgl -lueye_api -lboost_filesystem -lboost_system -lann -lpthread -lflycapture -lglog -lmysqlpp -lmysqlclient -lunittest++
DEBUG=-g -pg
WARNINGS=-Wall -Wextra -pedantic -Wno-long-long #-O3 -Weffc++
BUILDDIR=build
BINDIR=dist
MAINCXX=${shell find -name '*.cxx'}
TARGETS=${MAINCXX:%.cxx=%}
CXXFLAGS=${DEBUG} ${WARNINGS} ${DEFINES} ${INCS}
LDFLAGS=${DEBUG} ${WARNINGS} ${DEFINES}
include IDEconfigs/Makefile/generic.mk
我想将以下静态库路径添加到makefile中。
/usr/local/lib/libYARP_OS.a /usr/local/lib/libYARP_sig.a /usr/local/lib/libYARP_math.a /usr/local/lib/libYARP_dev.a /usr/local/lib/libYARP_name.a /usr/local/lib/libYARP_init.a
我该怎么做呢。
最佳答案
让我们考虑一下您的 /usr/local/lib/libYARP_OS.a
。
您可以做的是,在您的 makefile 中将 -L/usr/local/lib/
作为变量之一。然后您可以将 -lYARP_OS
附加到 LDLIBS。
-L 是库的路径,-l 是这里的库名 libYARP_OS.a
将作为 -lYARP_OS
传递。
在命令行上,您可以执行以下操作:gcc -o main main.c -L/usr/local/lib/-lYARP_OS
。这应该会给你一个想法。
关于c++ - 将 .so 和 .a 库添加到 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12054858/