Undefined Linker References to dlopen or dlsym
Symptoms
When linking your application program on Linux* OS, you see linker (
ld
) messages such as:
- undefined reference to `dlopen'
- undefined reference to `dlsym'
Cause
Intel® Advisor
#include
(C/C++) line to include the
Intel® Advisor
-ldl
to enable dynamic loading.
In most cases, you do not need source annotations when using
Intel® Advisor
, except for the Suitability analysis of the
Threading
perspective. When analyzing your application with other perspectives, such as
Vectorization and Code Insights
or
Offload Modeling
, you can analyze all parts of your code automatically or use
Intel Advisor
mark-up capabilities, which do not require you to recompile your application.
Possible Solution
- Do the following:
- Add the linker option-ldlto your command line, script, or make file.
- Review the options listed in the Build Your Target Application to ensure that you specified all required compiler and linker options (use the link below under See Also). If omitted, add missing options to your command line, script, or make file.
- Rebuild your program.