[FreeBSD-users-jp 96517] Re: FreeBSD-12.1 の libGLU.so の問題
Hiroki Sato
hrs @ allbsd.org
2019年 12月 17日 (火) 07:46:09 UTC
佐藤です。
Kouichi Hirabayashi <kh @ mogami.com> wrote
in <20191206112751.9f76dc8c32a78069771f7518 @ mogami.com>:
kh> > g++ -o a a.cpp -I/usr/local/include -L/usr/local/lib -lc++ -lglut -lGLU -lm
kh> > と -lc++ を真っ先にリンクしてみてください。
kh>
kh> で、うまくゆくようです。助かりました。
これだと libstdc++ と libc++ の両方がリンクされた状態になると思います。
初期化に失敗するという問題は回避でき、コンパイルもとおるのですが、
libstdc++ と libc++ には完全な互換性がありませんので、
標準ライブラリ関数の呼び出し等で問題が出る可能性があります。
「clang++ と libc++ を使ってコンパイルしたバイナリ」を
「g++ でコンパイルしたバイナリ」を組み合わせたい(つまり libc++ を使う)場合、
g++ には libc++ だけをリンクするように指示を出す必要があります。
また、C++ の標準ヘッダファイル群も libc++ 用のものを
使わないといけないため、具体的には、次のようなオプションを
並べる必要があります。残念ながら、一発で切り替える便利な
オプションはありません。
% g++ -nostdinc++ -I/usr/include/c++/v1 -nodefaultlibs -lc++ -lc -lm -lgcc_s
-- Hiroki
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 無し
型: application/pgp-signature
サイズ: 338 バイト
説明: 無し
URL: <http://lists.freebsd.org/pipermail/freebsd-users-jp/attachments/20191217/956ba43e/attachment.sig>
freebsd-users-jp メーリングリストの案内