./configure --enable-static
make clean && make
但是当我在 libiconv.a 上运行 nm 命令时,会得到以下结果。
...
_libiconv
_libiconv_open_
_libiconv_close_
...
这是有问题的,因为我想使用这个库来构建libxml2,而它需要以下符号。
iconv
iconv_open
iconv_close
浏览头文件,似乎这两个符号名称的区别是是否定义了LIBICONV_PLUG。但当我运行make时
make clean && make CPPFLAGS=-DLIBICONV_PLUG
我遇到了错误,因为一些东西没有定义,例如ICONV_GET_DISCARD_ILSEQ和ICONV_SET_HOOKS。再次查看头文件,只有在未定义LIBICONV_PLUG时才会定义这些内容。
我的问题是,我是否正确使用了LIBICONV_PLUG?是否有其他方法可以获得我所需的静态库符号?我应该手动定义未定义的符号吗?