lua5.3dllファイルに名前がありません

そのバナナ

Visual Studio(2017)で、Lua5.3を使用してC ++プログラムをスクリプト化しようとしていますが、リンカーがC ++ソースファイルで参照されている3つの関数名を見つけられません。

未解決の外部シンボル_lua_close

未解決の外部シンボル_lua_createtable

未解決の外部シンボル_luaL_newstate

LuaのWebサイトからC ++ソースを取得しました

インポートライブラリが付属していないLua5.3ダイナミックライブラリをダウンロードしたので、次のようなMSVCツールを使用してインポートライブラリを作成しました。

dumpbin /exports E:\Documents\Programmation\Lua5.3\lua53.dll

dumpbinの出力から、146個の名前を新しいファイル「mylua53lib.def」にコピーし、libを実行して次のように.libファイルを生成しました。

lib /def:E:\Documents\Programmation\Lua5.3\mylua53lib.def /OUT:E:\Documents\Programmation\Lua5.3\mylua53lib.lib /machine:x86

リンカが検出しない3つの関数名は、実際にはdumpbinコマンドの出力に表示されません。

Bartek Banachewicz

Windowsでの動的リンクを目的としたLuaのバイナリ配布には、次の2つのバイナリファイルが付属している必要があります。

  • 実際のLuaコードを含むDLLファイル
  • DLLに委任するメソッドスタブを含むライブラリファイル

ライブラリファイルに.a拡張子が付いている場合があります。これは、(.libWindowsではなく)Linuxでより一般的です。ただし、Windowsビルドの場合は、そのファイルをリンカーの依存関係として渡すだけで問題なく動作します。この質問は、2つの規則の違いを扱います。

ちなみに、これを機能させるために、VisualStudioでC ++プロジェクトを作成し、Source.cppデフォルトで提案されているようにを追加すると、未解決の外観が得られます。これは、CソースがC ++コードとして正常にコンパイルされる一方で、リンカーは使用されるC関数の定義に名前が壊れていることを予期するためです。これは、ファイルをCコードとしてコンパイルするか、できれば、次を使用してリンクライブラリでLuaヘッダーの名前をマングル解除するように指示することで防ぐことができますextern "C"

extern "C" {

#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#include <stdlib.h>
#include <stdio.h>

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Lua requireは機能しませんが、ファイルはトレースにあります

分類Dev

Angular5-構成ファイルがdistフォルダーにありません

分類Dev

HDF5のC ++ヘッダーファイルがありません

分類Dev

同じgzip圧縮ファイルのPythonmd5ハッシュに一貫性がありません

分類Dev

django.core.exceptions.FieldDoesNotExist:モデルに<function SET_NULL at0x7fc5ae8836e0>という名前のフィールドがありません

分類Dev

ImportError:html5libにbaseという名前のモジュールがありません

分類Dev

パッケージ 'libgtkmm-2.4-1v5:amd64'のファイルリストファイルに最後の改行がありません

分類Dev

MVC 5ViewComponent名前空間参照がありません

分類Dev

ASP.NET5にCSSファイルが見つかりません

分類Dev

'sdkddkver.h'ファイルがpipinstallMetaTrader5に見つかりません

分類Dev

テンソルフローモデルを保存しようとすると、モジュール「h5py」に属性「ファイル」がありません

分類Dev

MVC5。モデル参照ファイルにModel.Context.csがありません。ユーザーフォルダを見る

分類Dev

Lubuntu 12.04 LiveCDにファームウェアエラーがありません:b43-phy0エラー:ファームウェアファイル「b43 /ucode5.fw」が見つかりません

分類Dev

STS SpringBean構成ファイルにSpringxsd名前空間がありません

分類Dev

snakemakeは常に「44行目のMissingOutputException、5秒後にファイルがありません:」と報告します。

分類Dev

pyuic5-ModuleNotFoundError:PyQt5.sipという名前のモジュールがありません

分類Dev

PyQt5:ModuleNotFoundError:「PyQt5」という名前のモジュールがありません

分類Dev

PyQt5とAnaconda:ModuleNotFoundError:「PyQt5」という名前のモジュールがありません

分類Dev

計算されたファイルのmd5ハッシュがPythonで正しくありません

分類Dev

Luaのテーブルライブラリに機能がありません

分類Dev

Google App Engineのチュートリアルに移動します:ImportError:_md5という名前のモジュールがありません

分類Dev

apkファイル内にDLLがありませんか?

分類Dev

エラー:「PyQt5.QtMultimedia」という名前のモジュールがありません

分類Dev

インストールされたLuarock-.luaファイルはありません

分類Dev

Xcode5にプロビジョニングプロファイルメニュー項目がありません

分類Dev

ステップ9:コンポーネント構成のopenUI5にindex.jsファイルがありません

分類Dev

Maya2018にPyQt5.QtWidgetsという名前のモジュールはありません

分類Dev

インポートエラー:PyQT5(Win7x64)という名前のモジュールがありません

分類Dev

Alamofire 5をCarthageと一緒にインストールした後、「 'Alamofireにはrequestという名前のメンバーがありません」というエラーが表示されます

Related 関連記事

  1. 1

    Lua requireは機能しませんが、ファイルはトレースにあります

  2. 2

    Angular5-構成ファイルがdistフォルダーにありません

  3. 3

    HDF5のC ++ヘッダーファイルがありません

  4. 4

    同じgzip圧縮ファイルのPythonmd5ハッシュに一貫性がありません

  5. 5

    django.core.exceptions.FieldDoesNotExist:モデルに<function SET_NULL at0x7fc5ae8836e0>という名前のフィールドがありません

  6. 6

    ImportError:html5libにbaseという名前のモジュールがありません

  7. 7

    パッケージ 'libgtkmm-2.4-1v5:amd64'のファイルリストファイルに最後の改行がありません

  8. 8

    MVC 5ViewComponent名前空間参照がありません

  9. 9

    ASP.NET5にCSSファイルが見つかりません

  10. 10

    'sdkddkver.h'ファイルがpipinstallMetaTrader5に見つかりません

  11. 11

    テンソルフローモデルを保存しようとすると、モジュール「h5py」に属性「ファイル」がありません

  12. 12

    MVC5。モデル参照ファイルにModel.Context.csがありません。ユーザーフォルダを見る

  13. 13

    Lubuntu 12.04 LiveCDにファームウェアエラーがありません:b43-phy0エラー:ファームウェアファイル「b43 /ucode5.fw」が見つかりません

  14. 14

    STS SpringBean構成ファイルにSpringxsd名前空間がありません

  15. 15

    snakemakeは常に「44行目のMissingOutputException、5秒後にファイルがありません:」と報告します。

  16. 16

    pyuic5-ModuleNotFoundError:PyQt5.sipという名前のモジュールがありません

  17. 17

    PyQt5:ModuleNotFoundError:「PyQt5」という名前のモジュールがありません

  18. 18

    PyQt5とAnaconda:ModuleNotFoundError:「PyQt5」という名前のモジュールがありません

  19. 19

    計算されたファイルのmd5ハッシュがPythonで正しくありません

  20. 20

    Luaのテーブルライブラリに機能がありません

  21. 21

    Google App Engineのチュートリアルに移動します:ImportError:_md5という名前のモジュールがありません

  22. 22

    apkファイル内にDLLがありませんか?

  23. 23

    エラー:「PyQt5.QtMultimedia」という名前のモジュールがありません

  24. 24

    インストールされたLuarock-.luaファイルはありません

  25. 25

    Xcode5にプロビジョニングプロファイルメニュー項目がありません

  26. 26

    ステップ9:コンポーネント構成のopenUI5にindex.jsファイルがありません

  27. 27

    Maya2018にPyQt5.QtWidgetsという名前のモジュールはありません

  28. 28

    インポートエラー:PyQT5(Win7x64)という名前のモジュールがありません

  29. 29

    Alamofire 5をCarthageと一緒にインストールした後、「 'Alamofireにはrequestという名前のメンバーがありません」というエラーが表示されます

ホットタグ

アーカイブ