链接器输入文件未使用c ++ g ++ make文件

Jon*_*use 4 c++ gnu makefile g++ static-libraries

我无法弄清楚导致这个错误的原因是我一直在制作我的项目:

i686-apple-darwin11-llvm-g++-4.2: -lncurses: linker input file unused because linking not done
Run Code Online (Sandbox Code Playgroud)

我的make文件看起来像这样:

CC = g++

LIB_FLAGS = -l ncurses

FLAGS = $(LIB_FLAGS)

DEPENDENCIES = window.o element.o

# FINAL OUTPUTS
main: main.cpp $(DEPENDENCIES)
    $(CC) $(FLAGS) -o main.out main.cpp $(DEPENDENCIES)

# MODULES
window.o: main.h classes/window.cpp
    $(CC) $(FLAGS) -c classes/window.cpp

element.o: main.h classes/element.cpp
    $(CC) $(FLAGS) -c classes/element.cpp

# CLEAN
clean:
    rm -rf *.o
    rm main.out
Run Code Online (Sandbox Code Playgroud)

一切都编译好,但我只是好奇是什么导致这个错误信息及其含义..

Jes*_*erE 5

您正在将链接器选项一起传递给编译器调用-c,这意味着不执行链接,因此-l未使用选项.在您的情况下,您LIB_FLAGS不应该进入FLAGS,而是在main: ...规则中指定:

main: main.cpp
        $(CC) $(FLAGS) $(LIB_FLAGS) ...
Run Code Online (Sandbox Code Playgroud)