我已經下載了pdcurses源代碼,並且能夠在我的項目中成功地包含curses.h,鏈接了預編譯的庫和所有好的東西。PDCurses TUI C++ Win32控制檯應用程序 - 訪問衝突讀取位置
經過幾個小時的試用庫之後,我看到了demos文件夾中的tuidemo.c,將它編譯成可執行文件並且非常棒!正是我的項目所需要的。
現在的問題是,它是一個C代碼,我工作的一個C++項目在VS C++ 2008
我需要的文件是tui.c和tui.h 我怎麼能包括將c文件在我的C++代碼?我看到了few suggestions here
但編譯器不太滿意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
at線
startmenu(MainMenu, "TUI - 'textual user interface' demonstration program");
不知道該從哪裏下去。 再次感謝。
您是否將tui.c重命名爲tui.cpp?如果是這樣,不要 - 編譯器需要知道它是一個C源文件。除此之外,發佈您正在獲取的錯誤消息的示例。 – 2010-06-15 11:28:22