我是 Linux 新手(Ubuntu 12.04 LTS,64 位)。我正在尝试学习如何为名为 Tecplot 的程序创建二进制文件。
我一直在尝试编译示例文件 simtest.f90,使用以下命令:
$ gfortran -fcray-pointer -lstdc++ simtest.f90 tecio64.a
当我这样做时,我收到一大堆错误,如下所示:
tecio.a(tecxxx.o).gnu.linkonce.d.DW.ref.__gxx_pe rsonality_v0[DW.ref.__gxx_personality_v0]+0x0): 对“__gxx_personality_v0”未定义引用 tecio.a(TranslatedString.o).gnu.linkonce.d._ZTIN 7tecplot7strutil16TranslatedStringE[typeinfo for tecplot::strutil::TranslatedString]+0x0): 对“vtable for _”未定义引用韋斯特電腦_class_type_info'
我已经阅读了几个论坛,看起来这是当您不链接 libstdc++ 库时遇到的错误(事实上,如果我删除链接 -lstdc++,我会遇到完全相同的错误)。
如果有人能帮助我,我将不胜感激。
答案1
要使该lstdc++
标志起作用,您需要安装 C++ 编译器。尝试以下操作:
sudo apt-get install g++