[英]Makefile and library bad dependencies?
我想在gtkmm / glade / c ++上使用一些opencv類。 包含任何opencv代碼后它工作得很好,但如果我將opencv添加到這樣的libs:LIBS ='pkg-config ... opencv --libs'應用程序停止工作。 在main的第一行(Gnome :: Gda :: init();)中,它崩潰並出現Segmentation Fault
Makefile文件
LD = g++
LIBS = `pkg-config gtkmm-2.4 glibmm-2.4 libgdamm-4.0 --libs`
CPPFLAGS = `pkg-config gtkmm-2.4 glibmm-2.4 libgdamm-4.0 --cflags`
OBJS = main.o TreeviewImages.o MainWindow.o FormDialog.o DBUtil.o
all: build
build: $(OBJS)
$(LD) $(LIBS) $(OBJS) -o cish
main.o: main.cpp
g++ $(CPPFLAGS) -c main.cpp
MainWindow.o: MainWindow.cpp MainWindow.h DBUtil.h FormDialog.h
g++ $(CPPFLAGS) -c MainWindow.cpp
TreeviewImages.o: TreeviewImages.cpp TreeviewImages.h
g++ $(CPPFLAGS) -c TreeviewImages.cpp
FormDialog.o: FormDialog.cpp FormDialog.h DBUtil.h
g++ $(CPPFLAGS) -c FormDialog.cpp
DBUtil.o: DBUtil.cpp DBUtil.h
g++ $(CPPFLAGS) -c DBUtil.cpp
clean:
rm -f cish $(OBJS)
任何領導/提示/幫助將不勝感激!
鏈接時將庫放在哪里會有很大的不同。
如果您有一個庫libexample,請使用:
g++ -lexample myprog2.o
如果myprog2引用它們將無法加載庫函數。
而是使用:
g++ myprog2.o -lexample
也就是說,在引用目標文件后添加$(LIBS)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.