未定义的引用'readline' - C.

时间:2016-02-14 05:50:28

标签: c makefile readline undefined-reference

我得到的错误:

undefined reference to `readline'

这是我的makefile:

all: stest stestdebug

stest: stest.o struct.o
    gcc -g stest.o struct.o -lreadline -lncurses -o stest

stest.o: stest.c struct.h
    gcc -g -c stest.c 

stestdebug: stestdebug.o struct.o
    gcc -g stestdebug.o struct.o -o stestdebug

stestdebug.o: stest.c struct.h
    gcc -g -c stest.c -o stestdebug.o 

struct.o: struct.c struct.h
    gcc -g -c -DDEBUG struct.c 

clean:
    rm -f *.o stest stestdebug

docs:
    doxygen
    chmod a+r html/*
    cp -p html/* ~/public_html/cs2303assig4

我已经为readline导入了所有必需的库但仍然出现此错误。

以下是我称之为的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <readline/readline.h>
#include <readline/history.h>
#include "struct.h"

void requestInput() {
  printf("Please fill out all prompts to create a new emplyoee.\n");
  char *name = readline("Name:");
}

1 个答案:

答案 0 :(得分:0)

您没有在主要可执行文件中链接到它们。

将您的库放在变量中,并在测试目标和正常目标中使用它们。

了解LDFLAGS。