Suppose you get this error with the main.cpp
file below:
Linking CXX executable testlink
CMakeFiles/testlink.dir/main.cpp.o: In function `main':
main.cpp:(.text+0x1a): undefined reference to `dlopen'
main.cpp:(.text+0x2a): undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[2]: *** [testlink] Error 1
make[1]: *** [CMakeFiles/testlink.dir/all] Error 2
make: *** [all] Error 2
All you need to do is add ${CMAKE_DL_LIBS}
to the target_link_libraries()
call:
target_link_libraries(testlink ${CMAKE_DL_LIBS})