// Build with: // gcc -O0 -g -ldl -lpthread test-dlopen.c -o test-dlopen #include #include int main (int argc, char *argv[]) { char* libs[2] = { "./libchild.so", "/usr/lib/libboost_date_time.so" }; int i; for (i=0; i<2; ++i) { printf("trying to load %s...\n", libs[i]); void *mh = dlopen(libs[i], RTLD_NOW); if (!mh) { fprintf(stderr, "Failed to load: %s\n", dlerror()); continue; } dlclose(mh); } return 0; }