未定义的引用`__time32` ncurses

时间:2012-09-16 14:54:36

标签: c gcc mingw codeblocks ncurses

背景:我正在学习如何在实施简单的roguelike游戏的过程中使用ncurses。

开始我非常无耻地从教程网站复制代码以便正确设置IDE但在所有示例中我都遇到了同样的错误:

LIB \ libncursesw.a(lib_twait.o):lib_twait.c ||对`__time32'

的未定义引用

其他错误也在libncursesw.a(twait.c和iterator.c)中

我尝试了什么: -lncurses,-llibcurses --lcurses关闭链接器(MinGW with gcc)无效(错误说他们找不到-lxxxx)

我有libncursesw.a包含在libs中(在code :: blocks中)

如果您想知道我使用的代码是什么(或者无论如何它会有用),这里是:

#include <stdlib.h>
#include <stdio.h>
#include <ncurses.h>

int main()
{
initscr();          /* Start curses mode */
printw("Hello World !!!");  /* Print Hello World*/
refresh();          /* Print it on to the real screen */
getch();            /* Wait for user input */
endwin();           /* End curses mode */

return 0;
}

任何帮助都会受到高度赞赏 - 这些事情总是我唯一不能克服的障碍......

修改

这些是编译器调用:

for main.o:

mingw32-gcc.exe -Wall -O2 -IC:\Users\User\CBProjects\rogue\include -c C:\Users\User\CBProjects\rogue\main.c -o obj\Release\main.o

表示可执行文件:

mingw32-g++.exe -o bin\Release\rogue.exe $(OBJS_RELEASE) -s lib\libncursesw.a lib\libncursesw.a

1 个答案:

答案 0 :(得分:0)

首先,您应该使用 gcc 而不是 g ++ 来生成exe文件。

__ time32是Windows系统函数。 Ming通常会找到必要的库,但有时确切的链接命令很重要。有关类似情况,请参阅http://www.digipedia.pl/usenet/thread/12692/4948/