0

我有一个在视觉工作室完成的 FLTK 项目,它编译得非常好。但是当我使用 g++ 编译它时,它给了我这个错误:

Undefined                       first referenced
 symbol                             in file
_ZN4ROMS9ROMS_Menu24read_recipes_ingredientsE6String /var/tmp//ccWVvonz.o
_ZN4ROMS9ROMS_Menu12read_catprdsE6String /var/tmp//ccWVvonz.o
_ZN4ROMS9ROMS_Menu11Read_ordersE6String /var/tmp//ccWVvonz.o
ld: fatal: Symbol referencing errors. No output written to a.out

我正在使用带有以下说明的 shell 文件来编译我的项目:

/opt/csw/gcc4/bin/g++ -Wno-deprecated -I/opt/csg/include main.cpp Graph.cpp GUI.cpp
Window.cpp -L/opt/csw/gcc4/lib/libstdc++.a:/opt/csg/lib -lX11
/opt/csw/lib/libjpeg.so.62 /opt/csg/lib/libfltk.a /opt/csg/lib/libfltk_images.a

再次在 VS 中编译良好,但在 g++ 中出现问题。我什至不明白错误,感谢任何帮助,谢谢。如果需要,将发布任何代码。

4

1 回答 1

1

未定义符号意味着您通过引用声明进行编译,但链接器找不到定义。

我不完全确定我从消息中看到的内容。要么你错过了 ROMS 中的符号,要么就是它们被引用的地方。

_ZN4ROMS9ROMS_Menu24read_recipes_ingredientsE6String

猜猜脱毛...

ROMS::ROMS_Menu::read_recipes_ingredients::String

您可能没有包含文件?

于 2011-11-15T22:34:17.070 回答