1

リンク時に、次の情報が表示されます。

libMain.a(Object.o): In function `Object': 
Object.cpp(44): undefined reference to `Transform::MakeIdentity()'

使用してみると間違いなく見られますnm --defined-only libSystem.a

Transform.o:
00000000 T Transform::MakeIdentity()

libSystem.aとlibMain.aの両方が適切に入力されています。リンカーのコマンドラインオプション:

-o "Game.so" -shared -Wl、-z、noexecstack "-lstdc ++" "-lsupc ++" "-lgnustl_static" "-lgcc" "libSystem.a" "libMain.a" -nostdlib -l "c"- l "m" -l "log" -l "gcc" -Wl、-soname、 "libGame" -Wl、--no-undefined

4

1 に答える 1

4

静的ライブラリをリンクする順序は重要です。詳細な説明については、ライブラリがリンクされている順序によって GCC でエラーが発生することがあるのはなぜですか?を参照してください。

于 2013-03-02T15:29:49.163 に答える