使用ncurses在Linux中构建Hello World C ++程序

时间:2013-02-25 22:46:14

标签: linux ncurses

我成功运行了sudo apt-get install libncurses5-dev

在我的Eclipse窗口中,我尝试构建以下HelloWord.cpp程序:

#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;
}

我收到以下错误:

Invoking: GCC C++ Linker
g++ -m32 -lncurses -L/opt/lib -o "Test_V"  ./src/curseTest.o ./src/trajectory.o ./src/xJus-epos.o   -lEposCmd
/usr/bin/ld: cannot find -lncurses
collect2: error: ld returned 1 exit status
make: *** [Test_V] Error 1

看起来编译器正在搜索ncurses库但找不到它?我检查/usr/lib并且那里的库不存在所以我需要手动链接那里的ncurses库 - 我认为get-apt安装程序会自动执行此操作吗?

2 个答案:

答案 0 :(得分:3)

g++ HelloWorld.cpp -lncurses -o HelloWolrd

如果您有32位计算机,gcc compile m32 auto。如果您有64位计算机并且想要编译32位,那么

答案 1 :(得分:1)

您的参数顺序不正确。在指定要链接的库之前,必须先指定所有源文件,然后再指定链接器搜索目录。您的命令应如下所示:

g++ HelloWorld.o -L/opt/lib -lncurses -o HelloWorld

取自comment by @ChrisDodd

您的选项顺序错误--L必须在-l之前,并且两者都必须毕竟在.o