2010-05-06 32 views
11

Tôi đã tải xuống GLUI source code mới nhất và bây giờ tôi đang cố gắng biên dịch nó. Khi tôi làm như vậy, tôi nhận được lỗi sau:glui/usr/bin/ld: không thể tìm thấy -lXmu

g++ -O0 -Wall -pedantic -I./ -I./include -I/usr/X11R6/include -o bin/example1 example/example1.cpp -L./lib -lglui -L/usr/X11R6/lib/libXdmcp.a -lglut -lGLU -lGL -lXmu -lXext -lX11 -lXi -lm 
/usr/bin/ld: cannot find -lXmu 
collect2: ld returned 1 exit status 

Khi tôi đã làm một locate libXmu, tôi nhận được kết quả như sau:

> %:~/src/GLUI/src$ locate libXmu 
> /usr/lib/libXmu.so.6 
> /usr/lib/libXmu.so.6.2.0 
> /usr/lib/libXmuu.so.1 
> /usr/lib/libXmuu.so.1.0.0 

Tôi nhận được lỗi vì tôi không có một/usr/lib/libXmu.so? Nếu đây là trường hợp, làm thế nào tôi có thể làm cho một? (Tôi không có kinh nghiệm liên kết nào cả).

Cảm ơn!

Trả lời

6

Câu trả lời thực ra là một trong những cái đầu tiên ở đây ban đầu nhưng chủ sở hữu đã xóa nó, có vẻ như vậy. Tôi đã có thể giải quyết vấn đề bằng cách tạo liên kết tượng trưng cho phiên bản mới nhất của thư viện (ví dụ: /usr/lib/libXmu.so.6) và biên dịch mã thành công.

+3

Cảm ơn. Đối với Ubuntu 12.04 64-bit, tôi đã làm việc với lệnh này: 'sudo ln -s /usr/lib/x86_64-linux-gnu/libXmu.so.6 /usr/lib/libXmu.so' –

6

Bản phân phối Linux thường gói các thư viện cần thiết để chạy chương trình riêng biệt với các tệp cần thiết để tạo chương trình.

Tìm các gói có tên * -devel hoặc * -dev.

Tôi không biết bạn cần cái nào cụ thể cho việc này, nhưng bạn có thể sử dụng tìm kiếm apt-cache để tìm kiếm.

+1

'sudo apt-get cài đặt libxmu-dev libxmu-headers' – Salami

0

tôi đã cùng một vấn đề, nếu tạo ra một biểu tượng liên kết doesnt giúp đỡ, hãy thử như sau:

  1. In $ PATH của bạn ("echo $ PATH"), và kiểm tra xem các tập tin thư viện bạn cần là một trong những thư mục đó. Sử dụng "xuất PATH =/mới/thêm/đường dẫn: $ PATH" để thêm thư mục mới để kiểm tra.
  2. Tôi đã bao gồm libevent, thêm "-levent" vào lệnh gcc và ld được sử dụng tệp /usr/lib/libevent.so, vì vậy có vẻ như tiền tố "lib" và tiện ích mở rộng đang được thêm tự động bởi ld.

Giữ nguyên.

Các vấn đề liên quan