C++ 关于库的Makefile错误

C++ 关于库的Makefile错误,c++,c,compiler-construction,makefile,C++,C,Compiler Construction,Makefile,我一直在试图用make命令编译一些代码。在本例中,我得到了关于查找“-lboost\u程序\u选项”的错误。 当我在查看Makefile时,我在第29行中发现了一些需要,我必须拥有它们,好吗,当我拥有它们时,我必须把它们放在哪里?有人能帮我吗 错误: g++ src/*.o -o cbir -lboost_program_options -lhdf5 -lboost_filesystem -lboost_system -llog4cxx -lflann c:/mingw/bin/../lib/

我一直在试图用make命令编译一些代码。在本例中,我得到了关于查找“-lboost\u程序\u选项”的错误。 当我在查看Makefile时,我在第29行中发现了一些需要,我必须拥有它们,好吗,当我拥有它们时,我必须把它们放在哪里?有人能帮我吗

错误:

g++ src/*.o  -o cbir -lboost_program_options -lhdf5 -lboost_filesystem -lboost_system -llog4cxx -lflann
c:/mingw/bin/../lib/gcc/mingw32/4.3.3/../../../../mingw32/bin/ld.exe: cannot find -lboost_program_options collect2: ld returned 1 exit status
Makefile:29: recipe for target `cbir' failed
make: *** [cbir] Error 1
生成文件:

# Compiler flags
CC=g++
CFLAGS= -I. -Iflann/src/cpp
# Class name
CLASS=cse484

# Project name
PROJECT=project

# MSU aPID
aPID=riggleza-vanweime

# OBJ Files...
OBJ=$(patsubst %.cpp,%.o,$(wildcard src/*.cpp))

# Output File...
OUTPUT_FILE = cbir

# Source dir
SRC = src

# Include dir
INC = inc

all: $(OBJ) cbir 


cbir: $(OBJ)
    $(CC) $(SRC)/*.o $(FLAGS) -o $(OUTPUT_FILE) -lboost_program_options -lhdf5 -lboost_filesystem  lboost_system -llog4cxx -lflann

clean:
    rm -f $(SRC)/*.o $(OUTPUT_FILE) $(CLASS)-$(PROJ)-$(aPID)*.tar.gz

dist: clean
        tar -cvzf $(CLASS)-$(PROJECT)-$(aPID).tar.gz *

dist-final: clean
    astyle --style=kr *.cpp *.h
    rm -f *.orig
    tar -cvzf $(CLASS)-$(PROJ)-$(aPID).final.tar.gz *

%.o: %.cpp
    $(CC) $(CFLAGS) -c -o $*.o $*.cpp

您可能没有安装程序选项库TNX Anycorn,但当我从这行中删除“lboost\u program\u options”时:“cbir:$(OBJ)$(CC)$(SRC)/*.o$(FLAGS)-o$(输出文件)-lboost\u程序选项-lhdf5-lboost\u文件系统lboost\u系统-llog4cxx-lflann”仍然需要下一步,例如“lhdf5”!我的问题是我在哪里安装了所有这些库?看起来你在POSIX ish系统上。您可以四处查看库的安装位置。标准ish位置包括
/lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
。或者,您可以执行广泛的
find/-name“lib*.so”
style搜索来查找共享对象。您可以改进这些库(例如,从
/
开始可能不是一个好主意,但它是全面的)?mingwboost可能是您必须安装的额外软件包