문제

누구든지 (일반 영어로) 벡터 통계 라이브러리 (수학 커널 라이브러리에 포함)를 Linux 용 Intel Fortran 컴파일러와 컴파일하는 Fortran 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 링커에 대한 것은 실제 파일 이름을 가져 오는 것이 아닙니다. [x]를 가져 오는 반면 파일을 찾을 수 있습니다.

실제 객체 파일 이름을 제공하려면 -L을 사용하지 않고 절대 경로를 사용하지 않고 -L : [filename]을 사용하지 않고 추가 할 수 있습니다.

나는 당신을 위해 그것을하는 올바른 방법을 가정합니다 -lmkl_ia32 하지만. 원시 파일 이름은 lib를 lib [x]라고 불리지 않는 경우에만 유용합니다. {so, a}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top