1

背景:我正在学习如何使用ncurses来实现一个简单的roguelike游戏。

一开始,我一直在无耻地从教程网站复制代码,以便正确设置 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 包含在库中(在 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;
}

任何帮助将不胜感激 - 这些事情总是我无法跨越的唯一障碍......

编辑

这些是编译器调用:

对于 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

4

1 回答 1

0

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

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

于 2012-09-16T20:08:07.567 回答