Tôi đang viết một số mã JNI trong C++ để được gọi từ một applet trên Windows XP. Tôi đã có thể chạy thành công applet và có thư viện JNI được nạp và gọi, thậm chí đi xa đến mức có chức năng gọi nó trong các DLL khác. Tôi đã làm việc này bằng cách thiết lập biến môi trường hệ thống PATH để bao gồm tất cả các tệp DLL của tôi đang có.UnsatisfiedLinkError: Quy trình được chỉ định không thể tìm thấy
Vì vậy, vấn đề là tôi thêm một cuộc gọi khác sử dụng DLL bên ngoài mới và đột nhiên khi tải thư viện, một UnsatisfiedLinkError được ném. Thông báo là: 'Không thể tìm thấy quy trình được chỉ định'. Điều này không có vẻ là một vấn đề với một DLL phụ thuộc bị thiếu, bởi vì tôi có thể loại bỏ một DLL phụ thuộc và nhận được một thông báo khác nhau về DLL phụ thuộc bị thiếu. Từ những gì tôi đã có thể tìm thấy trực tuyến, nó xuất hiện rằng thông báo này có nghĩa là một thực hiện chức năng Java bản địa là mất tích từ DLL, nhưng nó lẻ rằng nó hoạt động tốt mà không cần thêm chút mã này.
Có ai biết điều gì có thể gây ra điều này không? Những loại điều nào có thể cung cấp thông điệp 'Quy trình được chỉ định không thể tìm thấy' cho một UnsatisifedLinkError?
Tôi gặp sự cố này. libA kéo vào libBv2 và libC. Cả hai libBv2 và libC đã được tìm thấy. Vấn đề là libC đã phụ thuộc vào một phiên bản khác, libBv1. libBv1 và libBv2 không hoạt động cùng nhau. phụ thuộc tập đi cho thấy các thư viện nhưng tôi đã không mở rộng phụ thuộc của libC. Tôi đã sử dụng procmon (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) để xem các thư viện đang được tải và đó là khi tôi nhận thấy phiên bản libB thứ hai đang được tải. – codeDr