作者Carbontube (碳管)
看板C_and_CPP
標題[問題] 請問在VS下 如何C/Fortran混編。。
時間Fri Jul 24 16:59:16 2009
題目簡化下:
我的C 是這樣:
C.h :
#ifndef _C_H_
#define _C_H_
int ADD(int*, int*, int*);
#endif
C.c:
#include "C.h"
int ADD(int *x, int *y, int *sum)
{
int succ = 1;
*sum = *x + *y;
return succ;
}/*int ADD*/
fortran :
program Fcode
implicit none
! Variables
INTEGER :: A = 1
INTEGER :: B = 3
INTEGER :: AN = 0
!INTEGER
! Body of Console1
write(*,*) 'Hello World'
CALL ADD(A, B, AN)
write(*,*) AN
end program Fcode
在同一個solution下 ,開兩個project,一個是C, 一是fortran
兩個complier都是用intel的,而C的complier是選C ,而不是C++
按下F5,總是出現下面的error :
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main
referenced in function ___tmainCRTStartup
2> fatal error LNK1120: 1 unresolved
externals
2>C - 2 error(s), 1 warning(s)
1>Fcode.obj : error LNK2019: unresolved external symbol _ADD referenced in
function _MAIN__
1>Debug\F.exe : fatal error LNK1120: 1 unresolved externals
1>
那請問該要如合修改 code與IDE設定 才能將fortran/C 混編呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.2.86
※ Carbontube:轉錄至看板 Fortran 07/24 17:02
推 LPH66:我猜你應該要放在同一個project底下才對 07/24 17:26
→ Carbontube:請問怎放同一個project啊 我硬放過 07/24 17:41
→ Carbontube:若是fortran的project硬放C code 則C code會被乎略 07/24 17:41
→ Carbontube:反之亦然 07/24 17:41
推 SHBK:同一個solution就可以啦..我想你可以去看 07/25 15:38
→ SHBK:Intel Fortran的manual裡面的mixed programming 07/25 15:38