cmake中编译动态库且依赖fortran动态库问题记录

问题背景:

客户给了一个fortran创建的动态库,让我们测试是否可以使用。前提:我们是nodejs项目。

问题现象:

经过一系列折腾之后,客户给过来了正确动态库。

(1)nodejs直接调用so:ffi编译出现一堆环境问题且这种方式仅能调用c语言编写的动态库,客户提供的是fortran库,遂放弃。

(2)gcc直接编译demo工程,可以调用。gcc test.cpp xxx.so -o myout

(3)cmake中编译demo调用fortran库,一直报找不见该动态库。

解决办法:

CMakeLists.txt中增加以下:

SET(CMAKE_Fortran_COMPILE "fortran编译器")
ENABLE_LANGUAGE(Fortran)
...

SET_TARGET_PROPERTIES(targetName PROPERTIES LINKER_LANGUAGE Fortran)

建议将动态库改名为lib开头。

你可能感兴趣的:(C++,Node.js混合开发,cmake,fortran)