問題タブ [luabind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1134 参照

c++ - 戻り時に luabind '登録されていないクラスを使用しようとしています'

現在、luabind を使用してクラスをバインドしています (正確には SFML 2.0 の sf::Time を使用しています)、luabind から例外が発生し続けています。ここに私のバインディングコードがあります:

私のルアコードは次のとおりです。

sf::seconds の署名は次のとおりです。

sf::Time を返す独自の関数で sf::seconds への呼び出しをラップしてみました。また、戻り値として sf::Time* を使用してみました。何があっても、エラーが発生し続けます。

何か案は?

編集:

クラス自体をテストしましたが、Lua で system.Time() を使用して作成できますが、問題ありません。すべてのメソッドは正しく機能しますが、system.Time.seconds およびその他の静的メソッドは機能しません。

0 投票する
1 に答える
206 参照

luabind - luabindを使用して複数の引数を持つファンクターをluaにバインドする方法

luabind を使用して 1 つの引数を持つファンクターを lua にバインドする場合は、次のコードが役立ちます。

ただし、ファンクターを複数の引数にバインドする方法は次のとおりです。たとえば、次のようになります。

0 投票する
1 に答える
2111 参照

boost - luaインクルードディレクトリを特定できません

Windows8RPにLuabindをインストールしようとしています。これは私がこれまでに行ったことです。

  • 私のVisualStudioは2012RCバージョンです。
  • LuaforWindows5.1.4をインストールしました
  • luabind-0.9.1をダウンロードしました
  • luabindに必要なboost_1_51_0をダウンロードしました
  • BOOSTを正常にインストールしました
  • BOOST_ROOT環境変数にBjamのパスを設定しました
  • LUA_PATH環境変数でLuaのパスを設定しました

Luabindディレクトリでbjamを実行しようとすると、次のエラーが表示されます。

JamrootがLuaディレクトリへのパスを見つけるのに苦労している理由がわかりません。また、LUA_PATH環境変数だけでなく、PATH環境変数にもパスを含めてみました。

私はこれを3日間続けて探しています。私もこの方法を試してみましたが、それでも役に立ちませんでした。

誰かが私が間違っていることを知っているなら、私が間違っていることを知らせてください。

0 投票する
1 に答える
2134 参照

c++ - エラーを伴うLuaプロジェクトのコンパイル(luabind)

VisualStudio2010でLua+Luabindを使用してHelloWorldを作成しようとしています。ここからLuasrcをダウンロードし、そのソースファイルをプロジェクトに追加しました。次に、 luabindのソースをダウンロードして追加しました。最後にmain.cppを追加しました。その後、プロジェクトをコンパイルしようとしましたが、ほとんどすべてのluabindファイルでエラーが発生しました。

私が間違ったことを助けてください。プロジェクトに追加する必要のあるファイルは何ですか?多分いくつかの追加のライブラリ?luaプロジェクトを整理するためのベストプラクティスは何ですか?

0 投票する
1 に答える
311 参照

luabind - luabind で btVector3 を返すバインド関数

btVector3 を使用してクラスをバインドしようとしています。コンストラクターで btVector3 をバインドすると正常に動作します。次のようなバインディング関数:

正常に動作しますが、これをバインドします:

次のエラーが表示されます:

エラー C2719: 'unnamed-parameter': __declspec(align('16')) の仮パラメーターは位置合わせされません

btVector3 が調整されていることは理解していますが、これを修正/回避するにはどうすればよいですか?

0 投票する
1 に答える
157 参照

c++ - LuaBindは関数名を取得します

MVSのcallstackを使用して、C ++関数がluabindによってスクリプトでエクスポートされた場合、どのLua関数が私のC ++関数を呼び出したかを確認するにはどうすればよいですか?

0 投票する
2 に答える
275 参照

lua - Lubind 呼び出し規約の問題

Luabind に問題があり、過度に単純化されたソリューションなしでは修正方法がわからないという問題があります。

Luabind は、__cdecl呼び出し規約を使用した関数へのバインドのみを許可しているようです。私の現在のプロジェクトでは、拡張機能/プラグインに公開されているすべての機能が を使用して公開されて__stdcallいます。これにより、公開されたオブジェクトを直接バインドできなくなり、代わりに、公開されたオブジェクトのラッパーを作成する必要があります。これで問題ありませんが、ラップする必要のあるオブジェクトがたくさんあります。

たとえば、オブジェクトは次のようになります。

現在、プロジェクト全体の呼び出し規則を変更するオプションがないため、関数を操作するために Luabind にパッチを適用するソリューションがあるかどうかを確認してい__stdcallます。私はテンプレートやブースト機能が得意ではないので、機能を使用する__stdcall機能をどこから追加しようとしているのかさえ個人的にはわかりません.

参考までに、私は以下を使用しています:

  • ルア 5.1.4
  • ルバインド 0.9.1
  • VS2010

Lua と Luabind は両方とも、rev の最新バージョンのストックです。(プロジェクトの制限により Lua 5.2 は使用しませんが、5.2/Luabind の修正があれば__stdcall喜んでそれを受け入れます。)

これを行うための非常に古いバージョンの Luabind の修正しか見つけることができませんでしたが、ネット上にまだ浮かんでいるパッチは、現在の Luabind コードとはまったく一致していません。

他に必要な情報があれば、お気軽にお尋ねください。

0 投票する
1 に答える
369 参照

inheritance - Luabind 継承: self が定義されていません

Luabindで奇妙な問題に巻き込まれました。Lua から C++ クラスを継承したいのですが、Luabind のドキュメントに記載されている方法ではうまくいきません。

このコードは、self定義されていないように見えるため、アプリケーションをクラッシュさせるだけです (nil印刷すると返されます)。

ドキュメントに記載されているように、ラッパー構造体を使用しています。

私が間違っているかもしれないアイデアはありますか?

0 投票する
2 に答える
2962 参照

pointers - Lua C++ で void* ポインターを lua に渡す方法 && C++ に戻す方法

Lua にポインターを渡したいのですが、void*userdata を使用しますか? これを行う方法?

ところで、私は luabind を使用しましたが、void*Lua スタックへのポインターを渡すことができません。これは面倒です! 皆さん、私を助けてくれませんか?