如何在EclipseIDE下运行C++/Fortran混合项目?
我试图编译一个混合编程语言C++/Fortran示例项目,该项目由英特尔编译器2013在Eclipse IDE下提供。我可以在Windows操作系统上的Visual Studio IDE下成功运行此项目,但我还没有弄清楚如何在Linux上的Eclipse下运行同一项目。将Fortran与Eclipse IDE中的C++项目连接的配置是困扰我的主要问题。p> 有谁能告诉我如何把这两个项目联系起来吗?谢谢输出应该是简单的测试…123 李 源代码如下: 1主程序,fmain.f90如何在EclipseIDE下运行C++/Fortran混合项目?,c++,eclipse,fortran,photran,C++,Eclipse,Fortran,Photran,我试图编译一个混合编程语言C++/Fortran示例项目,该项目由英特尔编译器2013在Eclipse IDE下提供。我可以在Windows操作系统上的Visual Studio IDE下成功运行此项目,但我还没有弄清楚如何在Linux上的Eclipse下运行同一项目。将Fortran与Eclipse IDE中的C++项目连接的配置是困扰我的主要问题。p> 有谁能告诉我如何把这两个项目联系起来吗?谢谢输出应该是简单的测试…123 李 源代码如下: 1主程序,fmain.f90 PROGRAM f
PROGRAM fmain
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTERFACE
SUBROUTINE c_routine (int_arg, str_in, str_out, str_out_len) BIND(C)
IMPORT ! Use declarations from host
INTEGER(C_INT), VALUE,INTENT(IN) :: int_arg
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: str_in
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: str_out
INTEGER(C_INT), VALUE, INTENT(IN) :: str_out_len
END SUBROUTINE c_routine
END INTERFACE
CHARACTER(80) OUTPUT_TEXT
INTEGER IN_ARG, OUTPUT_LEN
CHARACTER(80) INPUT_TEXT
INPUT_TEXT = "Testing..."//C_NULL_CHAR
IN_ARG = 123
CALL c_routine (IN_ARG, INPUT_TEXT, OUTPUT_TEXT, LEN(OUTPUT_TEXT))
OUTPUT_LEN = INDEX(OUTPUT_TEXT," ")
IF (OUTPUT_LEN == 0) OUTPUT_LEN = len(OUTPUT_TEXT)
WRITE (*,*) OUTPUT_TEXT(1:OUTPUT_LEN)
END
2 csub.cpp
#include <stdio.h>
extern "C" void c_routine (
int int_arg, // integer to convert
char* input_text, // text to prepend to converted integer
char* output_text, // output buffer
int output_text_len // length of output buffer
)
{
sprintf_s(output_text,output_text_len,"%s%i ",input_text,int_arg);
}
一个可能的解决方法:是否有创建makefile项目的选项?@Stefan,我知道您建议的这个方法,但我只是好奇如何使Eclipse IDE能够像visual studio在我的桌面上那样处理这个混合语言项目—只需几步就可以让visual studio执行混合语言编译。谢谢你回答我的问题。