2013-10-24 4 views
0

cmake-gui를 사용하여 fortran과 python을 함께 연결하는 makefile을 만들려고합니다. makefile을 구성하고 생성 할 때마다 잘 작동합니다. 하지만 이후에 라이브러리를 가지고 파이썬에서 사용하려고합니다.CMake libifport.so.5 : 공유 객체 파일을 열 수 없습니다 : 해당 파일이나 디렉토리가 없습니다.

저는 cmake를 처음 사용하면서 제 cmakelist를 가져 왔습니다. 나는 fortran을 서브 루틴으로 만들고 python을 사용하여 작업을 수행하려고합니다.

cmake_minimum_required(VERSION 2.8.6) 
PROJECT(Demo) 
include(CMakeForceCompiler) 
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 
CMAKE_FORCE_CXX_COMPILER(icpc "Intel Cxx Compiler") 
CMAKE_FORCE_C_COMPILER(icc "Intel C Compiler") 
CMAKE_FORCE_Fortran_COMPILER(ifort "Intel Fortran Compiler") 
ELSE() 
CMAKE_FORCE_CXX_COMPILER(icl.exe "Intel Cxx Compiler") 
CMAKE_FORCE_C_COMPILER(icl.exe "Intel C Compiler") 
CMAKE_FORCE_Fortran_COMPILER(ifort.exe "Intel Fortran Compiler") 
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 
message(STATUS ${CMAKE_Fortran_COMPILER}) 
message(STATUS ${CMAKE_CXX_COMPILER}) 
message(STATUS ${CMAKE_C_COMPILER}) 
enable_language(Fortran) 

SET(EXECUTABLE_OUTPUT_PATH ".") 
SET(LIBRARY_OUTPUT_PATH ".") 

SET(SRC_COMP_LIB 
    hello.f90 
    md.f90 
    startDEMO.py 
) 

ADD_LIBRARY(demo SHARED ${SRC_COMP_LIB}) 
SET_TARGET_PROPERTIES(demo PROPERTIES LINKER_LANGUAGE Fortran) 

누구나 내가 cmakelist로 무엇인가 할 수 있습니까?

+0

그것은 cmakelist에 문제가되지 않습니까? – Xiao

답변

1

당신이

source /opt/intel/bin/compilervars.sh intel64  

(또는 IA32)는 항상 수행해야

이 사용하는 인텔 컴파일러를 했습니까?

+0

고맙습니다! 인텔 컴파일러를 추가했지만 동적 모듈이 init 함수를 정의하지 않습니다 (initlibdemo). 저는 cmakelist에 f2py를 추가하지 않았다고 생각합니다. 이 두 가지를 서로 연결하는 방법을 알고 있습니까? – Xiao

관련 문제