sansu 发表于 2017-10-27 22:14:53

C++调用fortran问题

环境:VS2008+Intel XE2011
C++部分,已添加项目依赖项,C++工程已添加附加库C:\Program Files (x86)\Intel\ComposerXE-2011\compiler\lib\intel64"
#define HAS_FORTRAN true
#include "Sim.h"

using namespace std;
extern "C" voidF_TEST1();   //不能要 __stdcall
int TASKMAIN()
{
// Start your task code here
    F_TEST1();
    return TASK_OK;
}

FORTRAN部分
subroutine F_TEST1
integer :: x=5,y=5,z
z=x+y
WRITE (*,*) z
READ (*,*) z
end subroutine

提示:
1>lib2.lib(Source1.obj) : error LNK2019: 无法解析的外部符号 _for_write_seq_lis,该符号在函数 _F_TEST1 中被引用
1>lib2.lib(Source1.obj) : error LNK2019: 无法解析的外部符号 _for_read_seq_lis,该符号在函数 _F_TEST1 中被引用

实在找不出原因,求助专家们。

fcode 发表于 2017-10-28 14:21:42

C++里连接输入增加一个 ifconsol.lib

sansu 发表于 2017-10-31 15:06:42

还是一样不行。fortran调fortran的lib是好的。

楚香饭 发表于 2017-10-31 15:59:47

来,加本论坛QQ群,2338021,我给你远程协助。

sansu 发表于 2017-10-31 23:00:25

我发现了:
我添加了Intel64,而且放在了ia32的上面。。。把intel64去掉了就好了。。

sansu 发表于 2017-10-31 23:05:06

话说为什么要intel64这个目录

sansu 发表于 2017-10-31 23:05:58

我是64位win7

vvt 发表于 2017-11-1 08:52:57

请看
http://fcode.cn/guide-105-1.html
第三个问题 《32位和64位的一些问题》
页: [1]
查看完整版本: C++调用fortran问题