こんにちは! 私は最近Nimを手に入れ、openglバインディングに喜んで使用したいと思いました。 ただし、gl.nimファイルをインポートすると、このエラーが発生します。 (「ローダーの生成」がチェックされた状態でOpenGL 3.3コアを生成しました。)
gl.nim(107, 39) Error: -1 can't be converted to uint64
私はコードをのぞきました、そしてそれはopenglenumsを扱っているセクションにあります。
Cでは、64ビットのunsigned intとしての-1は、aの最大値に等しくなります。
64ビットのunsignedint(ラップアラウンド)。 それは問題を解決しません、
しかし、私はそれがそれにいくつかの文脈を与えることを願っています。
@johnnovak ping
ありがとう@ Dav1dde
@ Develon5543詳細を教えてください。 どのNimバージョンを使用していますか?それは最新の1.0.6ですか? GLファイルの生成に使用した正確なパラメーターを教えてください。
@johnnovakはい、現在Webサイトにアクセスし、言語Nimを選択しました。 仕様をOpenGLとして維持し、glapiを3.3に設定して、コアプロファイルを選択しました。 他のAPIをNoneに設定したままにし、拡張機能を有効にしませんでした。 私がチェックした唯一のオプションは「ローダーを生成する」でした。 それは私が問題を抱えていたものであるgl.nimだけを含むzipファイルを私に与えました。
おかげで、私は今日または明日見ていきます。 以前にこの問題が発生したことを覚えていますが、修正したと思いました。 とにかく、それがまだ問題であるならば、私はそれをより良く修正します:)
わかりました、私の記憶はそれほど悪くないことがわかりました、そして私はしばらく前にこれを修正しました:
https://github.com/Dav1dde/glad/commit/9c248094b5b9f231e737e14d88cbbb7e3937d46#diff -c52e84971d5983683d03074508272340R525-R528
問題は、Webサービスがこのコミットより前のバージョンを実行していることです。 これは、Webサービスの出力をローカルで実行されている現在のマスターバージョンの出力と比較することで確認されています。
解決策: @ Dav1ddeは、最新のマスターバージョンを使用するように
それまでの間、リポジトリのクローンを作成し、マスターブランチをチェックアウトし、次のコマンドをローカルで実行して、必要なものを取得できます。
python -m glad --extensions , --spec gl --api gl=3.3 --profile core --generator nim --out-path out
または、次の2つのconst
値を手動で次のように変更することもできます。
GL_TIMEOUT_IGNORED*: uint64 = 0xFFFFFFFFFFFFFFFF'u64
GL_TIMEOUT_IGNORED_APPLE*: uint64 = 0xFFFFFFFFFFFFFFFF'u64
どうもありがとう、@ johnnovak! 今回は手動でファイルを編集します。 ご協力ありがとうございました。
私は今それを更新しました:
申し訳ありませんが、偶然ではなく、以前にglad2を更新したに違いありません。
調べてくれてありがとう@johnnovak
最も参考になるコメント
私は今それを更新しました:
申し訳ありませんが、偶然ではなく、以前にglad2を更新したに違いありません。
調べてくれてありがとう@johnnovak