在Visual studio 2008环境中链接混合FORTRAN和c++
Linking mixed FORTRAN and C++ in the Visual studio 2008 environment
我正在使用ISO_C_Binding模块从FORTAN调用c++函数。我可以编译和链接Fortran和c++文件使用mingwg++和gfortran命令行选项使用命令序列
gfortran -c main.f90
g++ -c print_hi.cpp
用于编译和链接,我可以使用gfortran选项并将c++标准库包括为
gfortran main.o print_hi.o -o main -lstdc++
,它工作得很好。现在我的问题是如何在视觉工作室环境中做到同样的事情。在简单的C语言中,我们只包含print_hi。但如果我只包含这个c++文件(print_hi.o),它会给出如下错误:
Error LNK2010: unresolved external symbol _ZSt4cout referenced in function _print_hi
所以我想我需要在我的FORTRAN项目中给出c++库的路径,就像我们在命令行MINGW情况下所做的那样,但我不知道如何做到这一点。
PS:我使用的是windows Vista,在visual studio 2008中使用intell visual fortran编译器专业版11.1,在同一台计算机上使用visual studio 2010中的c++。
这篇MSDN文章可以帮助你:混合语言问题和c++混合语言编程
进入项目属性->链接器->输入->附加依赖项,并在那里输入库名称。
确保静态地使用gfortran运行时库进行构建试试gfortran -static-libgfortran (-c or -S) -f2003 yourforsource。法郎。你应该得到一个扩展名为。o的目标文件。
然后把目标文件带到你的MS编译器。编译你的C/c++源代码到一个目标文件。最后,使用两个目标文件一起进行正常构建。使用命令行编译器执行此操作以确保它能够工作。
相关文章:
- 混合组合和继承的C++问题
- 在混合代码库中将C转换为C++时出现许多包含错误
- D3D11-将混合权重和索引传递到顶点着色器
- 使用 VS2015 在 Windows 10 上构建 Fortran .lib x64 位并将其链接到 C++
- C++分数混合比较运算符错误
- 是否可以混合使用SFINAE和模板专业化?
- 将 OR 逻辑运算符从 C++ 转换为 Fortran
- Fortran 和 C++ 的混合编程:Fortran 不能调用C++子程序
- 如何将C++17 stdc++fs库链接到混合语言(C++和Fortran)CMake项目
- 混合编程 - 包括C++标头到 Fortran
- CMake 无法识别混合 C++/FORTRAN 程序中的 FORTRAN 源
- 混合 C、C++ 和 Fortran 中的代码
- 在OpenMPI中混合使用“英特尔C++”和“Fortran”时未定义的引用
- 混合C++和 Fortran 链接问题
- C++与Fortran混合程序的Makefile编译问题
- 使用Visual Studio 2013和Intel Fortran编译c++ /C混合代码
- 如何在visual studio 2010中混合使用fortran和c++
- 编译一个混合GNU Fortran/ c++ MPI共享库
- 在Visual studio 2008环境中链接混合FORTRAN和c++
- C++/Fortran 混合编程:对"_gfortran_reshape_r8"的未定义引用