C++ 尽管库文件已就位,但仍返回链接器错误

C++ 尽管库文件已就位,但仍返回链接器错误,c++,makefile,C++,Makefile,我的链接器说它无法找到所有库文件,尽管它们存在并且路径设置正确。 我运行make并让make文件打印这些标签`: 这是我的编译器调用: arm-linux-gnueabihf-g++ -Wall -fPIC -isystem /usr/local/include -fsigned-char -D_USE_EMBEDDED_ -O3 -mcpu=cortex-a5 -mfloat-abi=hard -mfpu=vfpv4-d16 -pipe -funroll-loops -ff

我的链接器说它无法找到所有库文件,尽管它们存在并且路径设置正确。 我运行make并让make文件打印这些标签`:

这是我的编译器调用:

arm-linux-gnueabihf-g++ -Wall -fPIC -isystem /usr/local/include -fsigned-char -D_USE_EMBEDDED_         -O3 -mcpu=cortex-a5 -mfloat-abi=hard -mfpu=vfpv4-d16 -pipe  -funroll-loops  -ffunction-sections -fdata-sections -pipe -Wl,--dynamic-list-cpp-typeinfo objfile1.o objfile2.o archive1.a archive2.a -Wl,-Bstatic -lboost_filesystem-gcc46-mt-1_49 -lboost_program_options-gcc46-mt-1_49 -lboost_regex-gcc46-mt-1_49 -lboost_system-gcc46-mt-1_49 -Wl,-Bdynamic -l:libxalan-c.so.111 -l:libxerces-c-3.1.so -lstdc++   -lpthread  -ldl -o Outfile.linux-arm
但对于最后6个库,我得到了这种链接器错误:

   /home/myhome/devel/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lboost_filesystem-gcc46-mt-1_49
当我检查我的库路径/usr/local/lib/时,我确实找到了以下文件:

libboost_filesystem-gcc46-mt-1_49.a
libboost_filesystem-gcc46-mt-1_49.so -> libboost_filesystem-gcc46-mt-1_49.so.1.49.0
libboost_filesystem-gcc46-mt-1_49.so.1.49.0
为什么make会出现这种错误?一切都应该就位!
谢谢

您省略了链接器行中最重要的部分。您可以打印LDFLAGS,但在。。。在上面的编译器调用示例中,您实际看到了-L/usr/local/lib吗?如果是这样,您可以尝试在链接行中添加-Wl,-v`以在链接器中启用详细模式,这将为您提供有关它要查找的内容和位置的详细信息。我添加了整行内容。但是找不到库的路径。好的,我稍后在链接器调用之前在makefile中检查了LDFLAGS,很明显它发生了变化。没有库路径了..好吧,那就是你的问题了。
libboost_filesystem-gcc46-mt-1_49.a
libboost_filesystem-gcc46-mt-1_49.so -> libboost_filesystem-gcc46-mt-1_49.so.1.49.0
libboost_filesystem-gcc46-mt-1_49.so.1.49.0