【发布时间】:2013-04-12 14:53:15
【问题描述】:
我尝试在 mingw 中构建 GDB 7.51 以进行跨平台调试,我发现 GDB 有 TUI 作为前端。无论如何,我用 --enable-tui 配置 GDB,然后总是停止并显示错误消息:
配置:错误:找不到增强的curses库;禁用 TUI
我通过谷歌检查了这个问题,然后我从 GNU 下载了 ncurses 源代码
在我的 c:/mingw/msys/1.0/local/ 中构建并安装它
使用以下脚本语句运行 GDB 的配置
export PATH=$PREFIX/gccbinutils/bin/:/usr/local/bin:/usr/bin:/bin:/mingw/bin
export C_INCLUDE_PATH=/usr/local/include:/usr/local/include/ncursest:/usr/include:/c/mingw/include
export CPLUS_INCLUDE_PATH=/usr/local/include:/usr/local/include/ncursest:/usr/include:/c/mingw/include
export LIBRARY_PATH=/usr/local/lib:/usr/lib:/c/mingw/lib
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/c/mingw/lib
export LDFLAGS="-L/usr/local/lib -L/usr/lib -L/c/mingw/lib"
export LIBS="-lncursest"
$BUILD_MIPSGCCDIR/gdb/configure --prefix=$PREFIX/$pkg --target=$TARGET \
--enable-tui \
--enable-curses \
--enable-sim > $BUILDPATH/$TARGET$pkg.conf1.$argn.log 2>&1
但它不起作用。使用以下消息停止
checking for zlib.h... yes
checking for library containing dlgetmodinfo... no
checking for iconv... yes
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for library containing waddstr... no
configure: error: no enhanced curses library found; disable TUI
make[1]: *** [configure-gdb] Error 1
make[1]: Leaving directory `/d/tools/buildmipsgcc/build_gdb'
make: *** [all] Error 2
我已经搜索了 waddstr ,并确定它存在于我的 c:/mingw/msys/1.0/local/lib/libncursest.a 中。
【问题讨论】:
-
“它不起作用” 提供了关于哪些东西不起作用的零信息。展开您的问题。
-
感谢 Haroogan,我已添加“制作消息”。
-
你在
libncursest.a同目录下有对应的*.la文件吗? -
@Haroogan 构建 ncurses 时不会生成 libncursest.la。我使用以下配置构建了 ncurses:CC="gcc -m32" LD="ld -m32" ./configure --prefix=$DEST_DIR/$pkg \ --without-cxx-binding --没有 ada --enable-warnings --enable-assertions --enable-reentrant --with-debug --with-normal --disable-home-terminfo --enable-sp-funcs --enable-term-driver - -enable-interop --with-pthread > $BUILDPATH/$TARGET$pkg.conf.$argn.log 2>&1
-
你肯定需要它,否则 Autotools 将无法找到它。你为
ncurses做了make install吗?如果是,那么*.la应该已经被自动部署了。