小编mac*_*and的帖子

Lua C++ 表迭代

我对 lua_next 的实际工作原理有点困惑。用户定义一个表:

a={["a1"]=20,["a2"]=30}
Run Code Online (Sandbox Code Playgroud)

我想用 C++ 代码打印这个表:

inline int lua_print(lua_State* L)
{
wxString wxReturnStr=wxEmptyString;
wxString tempString=wxEmptyString;
int nargs = lua_gettop(L);

for (int i=1; i <= nargs; i++)
{
    int type = lua_type(L, i);
    switch (type)
    {

    case LUA_TNIL:
        break;

    case LUA_TBOOLEAN:
        tempString<<(lua_toboolean(L, i) ? "true" : "false");
        break;

    case LUA_TNUMBER:
        tempString<<lua_tonumber(L, i);
        break;

      case LUA_TSTRING:
          tempString<<lua_tostring(L, i);
        break;
      case LUA_TTABLE:
      {
          lua_pushnil(L);
          while(lua_next(L,-2))
          {
                const char* key=lua_tostring(L,-2);
                double val=lua_tonumber(L,-1);
                lua_pop(L,1);
                tempString<<key<<"="<<val<<"\t";
          }

          break;
      }

      default:
          tempString<<lua_typename(L, type);
        break;
    }

    wxReturnStr=wxReturnStr+tempString+"\n"; …
Run Code Online (Sandbox Code Playgroud)

c++ lua

5
推荐指数
1
解决办法
2472
查看次数

wxWidgets Visual Studio 2015 链接错误

我正在尝试在 Windows 10 下使用 Visual Studio Community 2015 运行最小的 wxWidgets 示例。wxWidgets 版本是 3.1.0。

我使用以下命令编译了 wxWidgets:

nmake -f makefile.vc SHARED=1 UNICODE=1 MONOLITHIC=1 BUILD=release
Run Code Online (Sandbox Code Playgroud)

通过上述命令wxWidgets编译成功。

最小的 wxWidgets 示例编译良好,但我在发布版本中收到以下链接错误(尚未尝试调试):

error LNK2001: unresolved external symbol "void (__cdecl* wxTheAssertHandler)(class wxString const &,int,class wxString const &,class wxString const &,class wxString const &)" (?wxTheAssertHandler@@3P6AXABVwxString@@H000@ZA)
1>Source.obj : error LNK2001: unresolved external symbol "class wxEventTypeTag<class wxCommandEvent> const wxEVT_MENU" (?wxEVT_MENU@@3V?$wxEventTypeTag@VwxCommandEvent@@@@B)
1>Source.obj : error LNK2001: unresolved external symbol "protected: static class wxAppConsole * (__cdecl* wxAppConsoleBase::ms_appInitFn)(void)" (?ms_appInitFn@wxAppConsoleBase@@1P6APAVwxAppConsole@@XZA)
1>Source.obj : …
Run Code Online (Sandbox Code Playgroud)

c++ wxwidgets visual-studio visual-studio-2015

3
推荐指数
1
解决办法
3464
查看次数

标签 统计

c++ ×2

lua ×1

visual-studio ×1

visual-studio-2015 ×1

wxwidgets ×1