undefined reference to `crypt'

一笑奈何 提交于 2019-12-01 03:49:41

crypt.c:(.text+0xf1): undefined reference to 'crypt' is a linker error.

Try linking with -lcrypt : gcc crypt.c -lcrypt.

You've to add -lcrypt when compiling... Imagine the source file is called crypttest.c, you'll do:

cc -lcrypt -o crypttest crypttest.c

Chances are you forget to link the library

  gcc ..... -lcrypt

This could be due to two reasons:

  1. Linking with the crypt library: use -l<nameOfCryptLib> as a flag to gcc.
    Example: gcc ... -lcrypt where crypt.h has been compiled into a library.
  2. The file crypt.h is not in the include path. You can use < and > tags around a header file only when the file is in the include path. To ensure that crypt.h is present in the include path, use the -I flag, like so: gcc ... -I<path to directory containing crypt.h> ...
    Example: gcc -I./crypt where crypt.h is present in the crypt/ sub-directory of the current directory.

If you do not want to use the -I flag, change the #include<crypt.h> to #include "crypt.h"

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!