مكتبة الإحصائية ناقلات - رياضيات مكتبة النواة
سؤال
ويمكن لأي شخص أن يفسر لي (في سهل الانجليزية) كيفية ربط المكتبة الإحصائية المتجهات (المدرجة في المكتبة نواة الرياضيات) إلى رمز مصدر فورتران 90 ترجمة مع إنتل فورتران مترجم لينكس؟
وبلدي MAKEFILE يبدو كما يلي:
f90comp = ifort
libdir = /home/project/
mklpath = /opt/intel/mkl/10.0.5.025/lib/32/
mklinclude = /opt/intel/mkl/10.0.5.025/include/
exec: AAA.o
$(f90comp) -o AAA -L$(mklpath) -I$(mklinclude) AAA.o -libmkl_ia32.a -lguide -lpthread
AAA.o: $(libdir)AAA.f90
$(f90comp) -c -L$(mklpath) -I$(mklinclude) $(libdir)AAA.f90 -libmkl_ia32.a -lguide -lpthread
وينتج الخطأ التالي:
ld: cannot find -libmkl_ia32.a
make: *** Error 1
ولكن، وجود الملف في الدليل المحدد (mklpath).
والشكر !!
المحلول
وكيف هو ملف يسمى حقا؟ وليس المقصود -l إلى رابط لتأخذ اسم الملف الحقيقي. ومن المفترض أن تأخذ [س]، في حين أن ملف التي يمكن العثور عليها ومن ثم دعا ليب [س]. {ذلك، و}.
إذا كنت تريد أن تعطي اسم الملف الهدف الحقيقي، وكنت قد إما مجرد إلحاقها دون استخدام -l واستخدام المسار المطلق، أو استخدام -l: [اسم]
وأفترض الطريق الصحيح لتحقيق ذلك بالنسبة لك هو -lmkl_ia32
لكن. أسماء الخام هي مفيدة فقط إذا لم يتم استدعاء ليب ليب [س]. {ذلك، و}
لا تنتمي إلى StackOverflow