2011-11-15 68 views
0

我有一个FLTK项目,我在视觉工作室完成,它编译得很好。但是,当我用G ++编译它,它给了我这个错误: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 ++中的问题。我什至不明白错误,任何帮助表示赞赏,谢谢。如果需要,将发布任何代码。

回答

1

未定义的符号表示您通过引用声明进行编译,但链接程序找不到定义。

我不完全确定我在看什么,从消息。要么你错过了ROMS中的符号或者它们被引用的地方。

_ZN4ROMS9ROMS_Menu24read_recipes_ingredientsE6String 

在demangling猜测...

ROMS::ROMS_Menu::read_recipes_ingredients::String 

您可能没有包含的文件?