/usr/local/lib: 无法识别文件: 是一个目录

/usr/local/lib: file not recognized: Is a directory

在 CentOS 6.5 上安装 justniffer 时,

./configure

工作正常,但 make 出现以下错误:

libtool: link: g++ -g -O2 -o justniffer justniffer-main.o justniffer-formatter.o justniffer-utilities.o justniffer-regex.o justniffer-prog_read_file.o /usr/local/lib  -L/root/justniffer/lib/libnids-1.21_patched/src -lnids2 -lpcap -L/usr/local/lib -lboost_regex-mt -lboost_program_options -lpython2.6
/usr/local/lib: file not recognized: Is a directory
collect2: ld returned 1 exit status
make[1]: *** [justniffer] Error 1
make[1]: Leaving directory `/root/justniffer/src'
make: *** [all-recursive] Error 1

解决这个问题的方法是什么?

使用./configure LIBS="-I /usr/local/include -L/usr/local/lib",然后make,成功了!

vi 生成文件和 src/Makefile

LIBS = -pthread -lm -lz -ldl -lutil

制作并安装

成功!

这么久没编译程序,犯了同样愚蠢的错误:

  • CFLAGSLIBSGTK_LIBS等应该是标志,例如-Lpath,不是裸路径。我以前做的是将所有 DIR 重新定位到 CFLAGS=/I/L 另一种方法是
  • 空格应该像LIBS="-L'c/program files/gtk+/lib'"一样被引用或转义 LIBS="-Lc/program\ files/gtk+/lib"