I don't know why, but I've solved it now. go compiled dynamic library “libtest1.so”, from compile time with -ltest1 command, to run in load_so_main() function through dlopen() to open libtest1.so, and then through dlsym() to find Test1() function, it worked properly.