我有一个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 ++中出现问题。我甚至不理解错误,感谢任何帮助。如果需要,会发布任何代码。
答案 0 :(得分:1)
未定义的符号表示您通过引用声明进行编译,但链接器无法找到该定义。
我不完全确定我要从邮件中看到什么。要么丢失了ROMS中的符号,要么就是它们被引用的位置。
_ZN4ROMS9ROMS_Menu24read_recipes_ingredientsE6String
猜测堕落......
ROMS::ROMS_Menu::read_recipes_ingredients::String
您可能没有包含文件?