我已经下载了gdb-6.5.bz2.tar,解压缩这个文件,我写:LDFLAGS=-静态./配置但结果我得到了一个gdb,它需要一个so文件,例如:ncurses.so.5和libc.so.0等我怎么可以静态地构建?
vtwuwzda1#
This message似乎暗示正确的用法是
$ make LDFLAGS=-static
这似乎令人惊讶。不幸的是,它也说,它未能建立,并没有后续行动。但信息是从1999年,所以一切可能都改变了,也许今天正确的方式是做你的方式。
kzmpq1sx2#
您可以使用 configure 脚本的以下选项来生成静态GDB可执行文件:
./configure --prefix=<> --enable-static=yes && make && make install
ajsxfq5m3#
gcc和gdb都不尊重应该传递给configure的--enable-static标志,正确的方法是:对于gdb 8.0,还必须添加--disable-interprocess-agent才能成功构建静态版本:mkdir build-gdb && cd build-gdb && ../configure --prefix=... --enable-static --disable-interprocess-agent ...对于gcc 7.1,您还必须添加--disable-libcc1以成功构建静态版本:mkdir build-gcc && cd build-gcc && ../configure --prefix=... --enable-static --disable-shared --disable-libcc1 ...
configure
--enable-static
--disable-interprocess-agent
mkdir build-gdb && cd build-gdb && ../configure --prefix=... --enable-static --disable-interprocess-agent ...
--disable-libcc1
mkdir build-gcc && cd build-gcc && ../configure --prefix=... --enable-static --disable-shared --disable-libcc1 ...
3条答案
按热度按时间vtwuwzda1#
This message似乎暗示正确的用法是
这似乎令人惊讶。不幸的是,它也说,它未能建立,并没有后续行动。但信息是从1999年,所以一切可能都改变了,也许今天正确的方式是做你的方式。
kzmpq1sx2#
您可以使用 configure 脚本的以下选项来生成静态GDB可执行文件:
ajsxfq5m3#
gcc和gdb都不尊重应该传递给
configure
的--enable-static
标志,正确的方法是:对于gdb 8.0,还必须添加
--disable-interprocess-agent
才能成功构建静态版本:mkdir build-gdb && cd build-gdb && ../configure --prefix=... --enable-static --disable-interprocess-agent ...
对于gcc 7.1,您还必须添加
--disable-libcc1
以成功构建静态版本:mkdir build-gcc && cd build-gcc && ../configure --prefix=... --enable-static --disable-shared --disable-libcc1 ...