Tag: linker

如何链接到其他libc文件?

我想提供共享库以及我的程序,而不是因为版本差异而使用目标系统。 ldd说我的程序使用这些共享库: linux-gate.so.1 => (0xf7ef0000)**(made by kernel)** libc.so.6 => /lib32/libc.so.6 (0xf7d88000)**(libc-2.7.so)** /lib/ld-linux.so.2 (0xf7ef1000)**(ld-2.7.so)** 我通过编译成功链接了ld-xxx.so: gcc -std=c99 -D_POSIX_C_SOURCE=200112L -O2 -m32 -s -Wl,-dynamic-linker,ld-2.7.so myprogram.c 但我没有成功链接libc-xxx.so 。 我怎样才能做到这一点 ?

在GCC中链接libssl和libcrypto

我正在尝试使用OpenSSL的EVP接口进行一些加密。 我很确定我的代码是正确的,但我似乎无法编译它。 我正在使用GCC,并且安装了libssl-dev的Ubuntu 32位精确版和最新版本。 该项目目前包含一个文件program.c 。 #include … i = EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha1() … ); … EVP_CIPHER_CTX_init(e_ctx); 以及其他各种电话。 这是我如何调用gcc: gcc -Wall -g -lssl -lcrypto -o program program.c 然后我得到这样的输出 /home/andy/program/program.c:31: undefined reference to `EVP_sha1′ /home/andy/program/program.c:31: undefined reference to `EVP_aes_256_cbc’ /home/andy/program/program.c:31: undefined reference to `EVP_BytesToKey’ /home/andy/program/program.c:44: undefined reference to `EVP_CIPHER_CTX_init’ 所以包含显然在起作用: andy@ProgStation2:/usr/include$ find . | grep evp.h ./openssl/evp.h […]