Oluşturduğum bir kütüphaneyi dinamik olarak bağlamalıyım. Sorun ne olduğundan emin değilim. Her şey düzgün derler, ama her zaman NULL
işaretçi olarak handle
yakalamak:Uygun kullanımlı libdl ve dinamik olarak bağlantılı kütüphaneler
void *handle;
char *error;
handle = dlopen ("./hw11-lib-michaelSchilling.so", RTLD_LAZY);
//same error comes up with full path as well as './hw11...'
if(!handle){
error = dlerror();
printf("%s\n", error);
printf("Error loading library.\n");
exit(1);
}
bu hatayı geçmiş olsun olamaz ve ben muhtemelen yanlış olabilir emin değilim. Eminim herşeyi doğru bir şekilde derledim. İşte kullanılan derleme adımları şunlardır: Sadece ET_DYN ve ET_EXEC yüklenebilir
okur bir hata alıyorum
gcc -rdynamic -c hw11-lib-michaelSchilling.c -o hw11-lib-michaelSchilling.so gcc hw11-michaelSchilling-4.c -ldl -o hw11-michaelSchilling-4
.
'-rdynamic' ile birlikte mi? Sadece hem ile hem de "-shared" ile denedim, ama aynı hatayı aldım. –
@MichaelSchilling: Sanırım '-dinamik' sorunla ilgili bir şey yok, bu yüzden kodunuzun ihtiyaç duyması durumunda onu saklayabilirsiniz. – NPE
@MichaelSchilling: "-c" yi kaldırdınız mı? – NPE