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

プロジェクトをコンパイルするために、次の手順でシェル ファイルを使用しています。

/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 に答える