编译参数顺序导致奇怪问题

来源:互联网 发布:大数据的第三种定义 编辑:程序博客网 时间:2024/05/29 04:27
[手动搬家自网易博客 原发表日期:2008-06-06]        今天编译一个程序,用到了ncurses库。最后g++  -Wall -ljpeg -lncurses -o imgviewer obj/FrameBuffer.o obj/main.o obj/jpeg.o obj/showimg.o obj/common.o时,出现  obj/showimg.o: In function `showimg(FrameBuffer&, Imgstruct const&)':showimg.cpp:(.text+0x801): undefined reference to `initscr'showimg.cpp:(.text+0x806): undefined reference to `raw'showimg.cpp:(.text+0x80b): undefined reference to `stdscr'showimg.cpp:(.text+0x81b): undefined reference to `keypad'showimg.cpp:(.text+0x820): undefined reference to `noecho'showimg.cpp:(.text+0x8e3): undefined reference to `stdscr'showimg.cpp:(.text+0x8eb): undefined reference to `wgetch'showimg.cpp:(.text+0x8f0): undefined reference to `endwin'collect2: ld 返回 1make: *** [imgviewer] 错误 1 我 最开始还以为是ncurses有问题,重新把它编译了一次,结果问题依旧。google了很久,也没有什么收获。最后偶然发现,使用g++  obj/FrameBuffer.o obj/main.o obj/jpeg.o obj/showimg.o obj/common.o -Wall -ljpeg -lncurses -o imgviewer 命令编译后,问题就顺利解决了。如果有高人路过,请不吝赐教,解释一下。附:系统信息: Ubuntu 7.10  uname -r:2.6.22-14-generic   g++ --version:g++ (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
原创粉丝点击