在linux下,編譯連結的時候,經常會遇到這樣一個問題,undefined reference to.....,引起這個問題的原因在于在連結的時候缺少選項。
1、undefined reference to `dlerror'
undefined reference to `dlopen'
undefined reference to `dlerror'
解決辦法:在makefile的LDFLAGS後面把選項 -ldl 添加上即可。
2、undefined reference to `main'
解決辦法:在makefile的LDFLAGS後面添加 -nostartfiles 選項。
3、undefined reference to `pthread_setspecific'
undefined reference to `pthread_key_delete'
undefined reference to `pthread_key_create'
解決辦法:在makefile的LDFLAGS後面添加 -lpthread 選項。
4、undefined reference to `clock_gettime'
解決辦法:在makefile的LDFLAGS後面添加 -lrt 選項。
5. undefined reference to `pow'
解決辦法:在makefile的LDFLAGS後面添加 -lm 選項。