【问题标题】:CMake libifport.so.5: cannot open shared object file: No such file or directoryCMake libifport.so.5:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2013-10-24 08:40:10
【问题描述】:

我正在尝试使用 cmake-gui 制作一个将 fortran 和 python 链接在一起的 makefile。当我配置和生成 makefile 时,一切正常。但是在我得到库并尝试在 python 中使用它之后。原来的问题是:

Traceback (most recent call last):
File "startDEMO.py", line 2, in <module>
import libdemo


ImportError: libifport.so.5: cannot open shared object file: No such file or directory

我是 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 做点什么?

【问题讨论】:

  • 不是cmakelist的问题吗?

标签: python makefile cmake fortran90


【解决方案1】:

你做了吗

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

(或 ia32)

在使用英特尔编译器时应该始终这样做吗?

【讨论】:

  • 谢谢!我添加了英特尔编译器,但事实证明:动态模块没有定义初始化函数(initlibdemo)我想我没有在 cmakelist 上添加 f2py。你知道如何将这两者联系起来吗?
猜你喜欢
  • 1970-01-01
  • 2015-12-31
  • 2014-07-29
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 2015-04-12
  • 2018-11-26
  • 2019-11-27
相关资源
最近更新 更多