Gcc 为什么函数表示为动态符号不一致(RH4、Solaris10给出不同的结果)

Gcc 为什么函数表示为动态符号不一致(RH4、Solaris10给出不同的结果),gcc,linker,linker-errors,libcurl,ld,Gcc,Linker,Linker Errors,Libcurl,Ld,在尝试链接来自共享对象(libcurl.so)的函数时,我得到了对“Curl\u base64\u decode”的未定义引用。只有在RH4上编译libcurl时才会发生这种情况,但在solaris10上编译时不会出现错误 在solaris 10中,函数是动态的,而在RH4上则不是 Solaris10: -bash-3.2$ nm -D libcurl.so | grep Curl_base url_base64_decode Curl_base64_encode RH4: -bash-3.

在尝试链接来自共享对象(libcurl.so)的函数时,我得到了对“Curl\u base64\u decode”的未定义引用。只有在RH4上编译libcurl时才会发生这种情况,但在solaris10上编译时不会出现错误

在solaris 10中,函数是动态的,而在RH4上则不是

Solaris10:
-bash-3.2$  nm -D libcurl.so | grep Curl_base
url_base64_decode
Curl_base64_encode

RH4:
-bash-3.2$  nm -D libcurl.so | grep Curl_base
*no results

Redhat版本可能只是链接到隐藏内部符号,而Solaris版本则不是。与使用./configure构建类似——启用符号隐藏