1

クロス プラットフォームのデバッグ用に mingw で GDB 7.51 をビルドしようとしましたが、GDB にはフロントエンドとして TUI があることがわかりました。とにかく、私は --enable-tui で GDB を構成し、常にエラー メッセージで停止します。

configure: エラー: 強化された curses ライブラリが見つかりません; TUI を無効にする

この問題を Google で確認した後、GNU から ncurses ソースをダウンロードしました。

ncurses 5.9

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に存在することを確認しました。

4

1 に答える 1

0

OK、手書きで Autotools を騙してみましょうlibncurses.la:

# libncurses.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.7a
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname=''

# Names of this library.
library_names=''

# The name of the static archive.
old_library='libncursest.a'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs=''

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libncurses.
current=5
age=0
revision=9

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='c:/mingw/msys/1.0/local/lib'

私が提供したパスと名前を確認し、それらが異なる場合は変更してください。それでも機能しない場合は報告してください。最終的に修正するまで、さらに拡張してみます.

于 2013-04-12T15:57:05.827 に答える