2

glDrawArraysInstancedBaseInstanceを使用しようとしていますが、リンカーは __glewDrawArraysInstancedBaseInstance が解決されていないと不平を言います。

glew-1.9.0 がマシンにインストールされており、リンクしているはずです。

一時的な回避策として、機能する関数を自分でフェッチしているだけです。しかし、 glew がその機能に対して機能していないように見える理由を理解するのには役立ちません。

そして実際には glew は opengl 3.3+ に対しては機能していないようです

関数が使用可能であることを確認するには、 を使用しますglfwExtensionSupported("GL_ARB_base_instance")

明確にするために、これは GLFW 機能であり、GLEW の拡張チェッカーではありません。

glfw を使用してウィンドウと 4.3 コア プロファイル コンテキストを作成しています

私のシステム:
NVidia gtx 550 ti、最新のドライバー
Ubuntu 12.04

これをコンパイルするために、make ファイルと CMakeLists.txt に CMake を使用しています。
target_link_libraries(app GL GLU GLEW glfw)

4

1 に答える 1

1

glew-1.9.0のインストール時に にインストールされていたことが判明しましたが/usr/lib64、これは発生していた 2 つの問題のうちの 1 つにすぎません。

問題の 1 つはglew-1.7.0にインストールされて/usr/local/lib64おり、私のアプリはこのバージョンの glew を使用していました。

  • 私はこれをやって見つけましたfind /usr -name libGLEW*

そしてもう一つはldconfigについて知らなかった/usr/lib64

  • これは、ldconfig -p > report.txtどのディレクトリが検索されているかを調べて確認することで見つかりました。 「信頼できる」ディレクトリだldconfigと思っていたのですが、そうではなかったので、これは役に立ちました。/usr/lib64

この情報で武装してglew-1.7.0削除され、ldconfig更新され、すべてが期待どおりに機能するようになりました。

于 2013-07-17T19:40:13.070 に答える