Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在EclipseIDE下运行C++/Fortran混合项目?_C++_Eclipse_Fortran_Photran - Fatal编程技术网

如何在EclipseIDE下运行C++/Fortran混合项目?

如何在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

我试图编译一个混合编程语言C++/Fortran示例项目,该项目由英特尔编译器2013在Eclipse IDE下提供。我可以在Windows操作系统上的Visual Studio IDE下成功运行此项目,但我还没有弄清楚如何在Linux上的Eclipse下运行同一项目。将Fortran与Eclipse IDE中的C++项目连接的配置是困扰我的主要问题。p> 有谁能告诉我如何把这两个项目联系起来吗?谢谢输出应该是简单的测试…123

源代码如下: 1主程序,fmain.f90

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执行混合语言编译。谢谢你回答我的问题。