English 中文(简体)
无法连接到共享对象中的 ncurs
原标题:Unable to link to ncurses in shared object

出于某种原因,我有一个问题要汇编一个使用 ncurs 的共享对象。 尽管我包括了 -incress 并与 -incress 链接, 但汇编文件失败了 。 请告知 。

#include <string.h>
#include "../include/mod_curse.h" /* Includes ncurses.h and friends */

int OnConsoleCmd(McapiS *API, ArgS *CmdArgs)    /* Just ignore these, they re included in mod_curse.h */
{
    if(!strcmp(CmdArgs->Data, "help"))
    {
        API->BPrintf(STD, "
-- mod_curse.so --
");

        return 0;
    }
}

int OnLoad(McapiS *API, va_list Args)
{
    initscr();  /* These are the problems */
}

/* Time to clean up and unload the module */
int OnDeload(McapiS *API, va_list Args)
{
    endwin();
}

这是 Makefile :

CC = clang
CFLAGS = -Wall -fPIC

# Object Files
OBJ =   mod_curse.o
# Header Files
INCLUDE =   include/mod_curse.h


# Main Module
mod_setup.so: $(OBJ) $(INCLUDE)
    $(CC) -shared -Wl,-soname,mod_curse.so,--no-undefined -o ../../mod_curse.so -lncurses $(OBJ)

# Source Files
mod_curse.o: src/mod_curse.c $(INCLUDE)
    $(CC) $(CFLAGS) -c src/mod_curse.c

clean:
    rm $(OBJ)

以下是错误 :

3 warnings generated.
clang -shared -Wl,-soname,mod_curse.so,--no-undefined -o ../../mod_curse.so -lncurses mod_curse.o 
mod_curse.o: In function `OnLoad :
src/mod_curse.c:(.text+0x81): undefined reference to `initscr 
mod_curse.o: In function `OnDeload :
src/mod_curse.c:(.text+0xb1): undefined reference to `endwin 
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mod_setup.so] Error 1
最佳回答

我需要改变我的指令, 使得在$( OBJ) 之后出现 - 内值 。

问题回答

暂无回答




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签