4

重複の可能性:
fedoraでのgccリンカーエラー:未定義の参照

VC ++(プロジェクトパートナーがLinuxでプログラミングしているため、gccでは発生しない関数のオーバーロード)に問題があったため、cygwinでgccに切り替えましたが、ここでもプログラムを実行するのに問題があります(彼は問題なく同じコードをコンパイルすることができます)

でコンパイルしようとしています

$ gcc -I D:/Programme/Boost_Library/boost_1_51 ABI_new.cpp -o ABI

その後、次のような大量のエラーが発生します。

/tmp/ccO4eSA2.o:ABI_new.cpp:(.text+0xd): undefined reference to ´std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
    /tmp/ccO4eSA2.o:ABI_new.cpp:(.text+0x60): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
    /tmp/ccO4eSA2.o:ABI_new.cpp:(.text+0x9f): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
    /tmp/ccO4eSA2.o:ABI_new.cpp:(.text+0xce): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'

プログラムが入力ファイルを明らかに読み取れない(終了ステータスで示される)ことで、これが何かを行う必要があるかどうかはわかりませんが、なぜそれが機能しないのかはわかりません。私の同僚は、まったく同じコードで問題はありません。

ヒントをいただければ幸いです。

4

1 に答える 1

5

g++の代わりにでコンパイルしてみてくださいgcc。後者はおそらくC++標準ライブラリについて知らず、リンカにリンクするように指示していません。

于 2012-12-15T17:49:18.517 に答える