This article mainly introduced the Linux system prompts the/usr/bin/ld:cannot find-lxxx error The general solution, this article takes Ubuntu as an example to give a solution example, other Linux system also applies, the need friend may refer to the next
The source code that compiles the application or LIB in the Linux environment often appears with the following error message:
Copy code code as follows:
/usr/bin/ld:cannot find-lxxx
These messages have different results as they compile different types of source code:
Copy code code as follows:/usr/bin/ld:cannot FIND-LC
/usr/bin/ld:cannot Find-lltdl
/usr/bin/ld:cannot FIND-LXTST
where xxx represents the function library file name, as in the example above: libc.so, libltdl.so, libxtst.so.
Its naming convention is: lib+ Library name (that is, XXX) +.so.
There are three scenarios that can occur for this reason:
1 system does not install the corresponding Lib
2 The corresponding Lib version is not correct
The symbolic link for 3 lib (. so file) is incorrect and is not linked to the correct function library file (. So)
Workaround:
(1) First of all, the/usr/lib of the corresponding function library file (. So) symbolic link is correct, if not correctly changed to the correct link target can solve the problem.
(2) If not symbolic link problem caused, but the system is missing the corresponding Lib installation lib can be resolved.
(3) How to install the missing lib:
Take the above three error messages as an example:
Copy code code as follows:
Error 1 missing libc Lib
Error 2 missing Libltdl Lib
Error 3 missing libxtst Lib
Take Ubuntu for example:
Search for the corresponding Lib to install the job such as:
Copy code code as follows: Apt-cache search Libc-dev
Apt-cache Search Libltdl-dev
Apt-cache Search Libxtst-dev
Instance:
The following error message occurs when the source code for input method Gcin is compiled:
Copy code code as follows:/usr/bin/ld:cannot FIND-LXTST
After inspection, it is found that:
Symbolic link for Lib (. so file) is incorrect
The workaround is as follows:
Copy code code as follows:
Cd/usr/lib
Ln-s libxtst.so.6 libxtst.so
If the libxtst.so file is not found in the/usr/lib directory, then the system does not have the LIBXTST function library installed.
The solution is as follows:
Copy code code as follows:
Apt-get Install Libxtst-dev