2010-01-03 32 views
8

Tôi đang cố gắng gọi công cụ Matlab theo chương trình từ chương trình C trên Linux (Matlab r2009a, Ubuntu 9.10).Kết nối với động cơ Matlab từ C trong Linux

Tôi có mã riêng của mình (hoạt động trong Windows), nhưng hiện tại tôi chỉ đang cố gắng để có được chương trình Matlab "engdemo.c" hoạt động trên Linux. Tôi đã quản lý để biên dịch & liên kết nó (sau khi bao gồm khoảng 15 -l<lib> chuyển đổi trên dòng lệnh gcc), và thậm chí giải quyết tất cả các liên kết động thời gian chạy thông qua một số ma thuật ldconfig.

Nhưng, khi chương trình chạy, tôi chỉ nhận được thông báo lỗi "Không thể khởi động MATLAB engine" và chương trình kết thúc, không có dấu hiệu cho thấy tại sao nó không thành công.

Có ai đã thực hiện tác phẩm này không? Tôi đã quên làm gì?

p.s. Ban đầu tôi đã hỏi về SuperUser vì tôi nghĩ nó có liên quan đến cấu hình, nhưng tôi thấy có liên quan đến động cơ Matlab khác ở đây vì vậy tôi nghĩ tôi sẽ cho nó đi.

Trả lời

7

Bạn nên chạy strace trên chương trình C để xem mọi thứ xảy ra ở đâu. Thông thường, tôi thấy rằng hầu hết thời gian nó đi xuống đến một trong hai:

  • Không có csh cài đặt
  • Có môi trường thiết lập sai, đôi khi LS_COLORS vít mọi thứ lên với csh
+0

Cuộc gọi hay - cài đặt tcsh đã thực hiện thủ thuật. Cảm ơn! –

+0

BTW, cảm ơn cho mẹo về strace - Tôi thậm chí không biết rằng tồn tại! –

0

MathWorks đã ghi này trên their website, cụ thể là ghi chú sau:

Lưu ý: Để chạy động cơ MATLAB trên nền tảng UNIX, bạn phải có vỏ C csh được cài đặt tại /bin/csh.

+0

trang không còn tồn tại. –

+0

@Padenton: đã sửa – Amro

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