C++ 关于库的Makefile错误
我一直在试图用make命令编译一些代码。在本例中,我得到了关于查找“-lboost\u程序\u选项”的错误。 当我在查看Makefile时,我在第29行中发现了一些需要,我必须拥有它们,好吗,当我拥有它们时,我必须把它们放在哪里?有人能帮我吗 错误: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/
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可能是您必须安装的额外软件包