これらの X11 + OpenGL の組み合わせの 1 つをコンパイルしようとしていますが、コンパイラがうまくいきません。特に、私は得る:
undefined symbol: glXMakeCurrent
私が試してみました
-lX11 -lGLU -lGL -lXext
リンカーへの引数として、およびそれらのいくつかの順列として、これまでのところ運がありません。
私はUbuntu 12.04を実行しています.openglに関連するすべての開発パッケージをインストールしましたが、あいまいな考えが関連している可能性があります。私はC++でも開発しています.openglヘッダーが準備されていないと問題を引き起こす可能性があります.しかし、それらは正しいですか?
/usr/lib/x86_64-linux-gnu/ で fgrep を使用してシンボルを明示的に探しましたが、そこにはありません。さらに、「nm」はシンボルがないと言っています。
では、glx とリンクする正しい方法は何ですか?
編集: リンクの問題です。Python がコンパイルされた (そして正しくリンクされていない) モジュールをロードしようとすると、エラーが発生します。コンパイル時ではありません。
編集:これがコンパイルログです
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/debug/objects/alve/layouter/flowing_data.os -c -std=c++0x -g -I/usr /include/python2.7 -fPIC -I/opt/cairo_new/include/cairo/ -I/opt/boost_1_48_0/include -DMIC_RT_SPEED_BACKS -Icsrc csrc/alve/layouter/flowing_data.cpp
g++ -o build/debug/objects/alve/layouter/liblayouter.so -L/opt/cairo_new/lib -L/opt/boost_1_48_0/lib -shared build/debug/objects/alve/layouter/flowing_data.os build/debug/objects/alve/layouter/show_network.os -Lbuild/debug/lib -Llibdeps
Install file: "build/debug/objects/alve/layouter/liblayouter.so" as "build/debug/lib/liblayouter.so"
g++ -o build/debug/objects/alve/layouter/liblayouter_mod.so -L/opt/cairo_new/lib -L/opt/boost_1_48_0/lib -shared build/debug/objects/alve/layouter/module.os Lbuild/debug/lib -Llibdeps -lboost_python build/debug/objects/alve/layouter/liblayouter.so -lcairo -lX11 -lGL -lGLU -lXext
scons: done building targets.
関数の呼び出し方法は次のとおりです。
glXMakeCurrent (dpy, win, ctx);