我成功运行了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安装程序会自动执行此操作吗?
答案 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
您的选项顺序错误-
-L
必须在-l
之前,并且两者都必须毕竟在.o