Tôi làm việc trong Linux với C++ (Eclipse) và muốn sử dụng thư viện. Eclipse cho tôi thấy lỗi:Lỗi Linux C++: tham chiếu không xác định đối với 'dlopen'
undefined reference to 'dlopen'
Bạn có biết giải pháp không?
Đây là mã của tôi:
#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
int main(int argc, char **argv) {
void *handle;
double (*desk)(char*);
char *error;
handle = dlopen ("/lib/CEDD_LIB.so.6", RTLD_LAZY);
if (!handle) {
fputs (dlerror(), stderr);
exit(1);
}
desk= dlsym(handle, "Apply");
if ((error = dlerror()) != NULL) {
fputs(error, stderr);
exit(1);
}
dlclose(handle);
}
tôi đã chạy vào cùng một vấn đề ... Tôi đã thêm cờ trình biên dịch trong Project> Properties> C/C++ Build> Settings> (My Linker) > Miscellaneous trong trường Linker flags text. Nó chẳng làm gì cả. – MirroredFate
Ha, ok, cho bất kỳ ai khác có vấn đề này, sử dụng đường dẫn trên, ngoại trừ đi đến Thư viện hơn là Linh tinh và thêm 'dl' – MirroredFate
Câu trả lời này đã giúp. Đối với bất kỳ ai muốn tìm vị trí của libdl.so, chỉ cần vào thư mục gốc và gõ 'locate libdl.so' – Nav