我已经下载了 pdcurses源代码,并且能够成功地将 curses.h 包含在我的项目中,链接了预编译的库,一切都很好。
在试用了几个小时后,我在 demos 文件夹中看到了 tuidemo.c,将其编译为可执行文件,非常棒!正是我的项目所需要的。
现在的问题是它是一个 C 代码,我正在 VS c++ 2008 中开发一个 C++ 项目。
我需要的文件是 tui.c 和 tui.h 如何在我的 C++ 代码中包含该 C 文件?我在这里看到了一些建议
但编译器对 100 条警告和错误不太满意。
我怎样才能继续包含/使用 TUI pdcurses 包含的内容!?
谢谢
编辑:
我添加了 extern "C" 语句,所以我的测试现在看起来像这样,但我得到了一些其他类型的错误
#include <stdio.h>
#include <stdlib.h>
using namespace std;
extern "C" {
#include <tui.h>
}
void sub0()
{
//do nothing
}
void sub1()
{
//do nothing
}
int main (int argc, char * const argv[]) {
menu MainMenu[] =
{
{ "Asub", sub0, "Go inside first submenu" },
{ "Bsub", sub1, "Go inside second submenu" },
{ "", (FUNC)0, "" } /* always add this as the last item! */
};
startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");
return 0;
}
虽然它编译成功,但它在运行时抛出一个错误,这表明一个错误的指针:
0xC0000005: Access violation reading location 0x021c52f9
在线
startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");
不知道从这里去哪里。再次感谢。