0

i686 で Linux Mint 12 を実行しています。

SFML を使用するプログラムを実行しています。私はそれを次のようにコンパイルして実行します:

    g++ -c lineTest.cpp Rasterizer.cpp simpleCanvas.cpp
    g++ -o lineTest lineTest.o Rasterizer.o simpleCanvas.o -lsfml-graphics -lsfml-window -lsfml-system

プログラム lineTest を実行しようとすると、次のエラーが表示されます。

$ ./lineTest
./lineTest: symbol lookup error: /usr/local/lib/libsfml-window.so.1.6: undefined 
symbol: _ZN2sf7Unicode11UTF8OffsetsE

コマンド ラインからすべてを実行するだけで、IDE は使用していません。エラーを取り除き、プログラムを実行するために何ができるか知っている人はいますか?

4

1 に答える 1

4

推測するなら、/usr/lib と /usr/local/lib の両方に sfml があると思います。マングルされた名前のデコード:

> c++filt _ZN2sf7Unicode11UTF8OffsetsE
sf::Unicode::UTF8Offsets

そのため、libsfml-window.so はsf::Unicode::UTF8Offsets関数を探しますが、見つかりません。

于 2013-03-25T17:05:10.013 に答える