我正在尝试将用 Microsoft Visual Studio(c、c++ 和 fortran)编写的程序移植到 mac OSX。在这个程序中有一个由 fortran 源代码调用的 c++ 函数。基本上它的插入 c++ 和 fortran。我已将 C++ 函数包裹在"extern C"
括号中,通过互联网告诉我这是正确的方法。但是,链接器仍在抱怨此 c++ 函数中的未定义符号...
Undefined symbols: "__Z7_getcwdPci", referenced from: _bisimr_ in bisimR.o ld: symbol(s) not found
如果您通过互联网查看,getcwd
是在头文件中定义的函数,"direct.h"
. 它不是 mac OS 的一部分,仅在 Windows 系统中固有。据我所知,我能够在互联网上找到该文件,该文件似乎是 Windows“direct.h”文件。
现在我们已经完成了上下文,这是我的问题
鉴于我收到错误,可能是我的direct.h
文件不是 Windows 的正确头文件吗?或者是名称修改,从 C++ 到 fortran,抛出这个错误?
笔记:
- 我可以通过编译阶段,它是引发此错误的库的链接。
bisimr_
是c++函数