我已经使用Emscripten成功编译了我的C ++游戏,但是,编译器会输出两个警告:
warning: unresolved symbol: _ZN4MainC1Eiiii
warning: unresolved symbol: _ZN4Main8gameLoopEv
Main是我写的一个类,gameLoop是Main中的一个函数。
有没有人知道导致这些错误的原因或解决方法?
我通过打开Emscripten命令提示符bat文件并输入
来编译我的游戏 emscripten\1.12.0\em++ path_to_my_game -o path_to_my_output_file.html
当我在Firefox中打开html文件时,我看到的只是一个黑色矩形,里面写着-1。
我的游戏使用SDL2库,但我知道Emscripten已经成功编译了使用SDL的游戏。是否有一些SDL功能无法与Emscripten或其他东西一起使用? 请记住,我没有编译器错误,除了我已经展示的那些之外,我得到的唯一编译器警告与另一个类中的“无意义”结构声明有关。我相信精确突出的代码是:
typedef struct Point;
感谢您的帮助
编辑:在尝试编译其他部分代码(例如启动画面和主菜单)时,我会得到更有趣的结果。 以下是我的警告:
warning: unresolved symbol: _ZN17TimedSplashScreenC1ENSt3__112basic_stringIcNS011char_traitsIcEENS0_9allocatorIcEEEEiii
warning: unresolved symbol: _ZN17TimedSplashScreenD1Ev
warning: unresolved symbol: _ZN8MainMenuC1Eii
warning: unresolved symbol: _ZN8MainMenu8menuLoopEv
warning: unresolved symbol: _ZN8MainMenuD1Ev
warning: unresolved symbol: _ZN4MainC1Eiiii
warning: unresolved symbol: _ZN4Main8gameLoopEv
下一部分仅在我不运行启动画面或主菜单时出现:
Traceback (most recent call last):
File "C:\Program Files (x86)\Emscripten\python\2.7.5.3_32bit\lib\multiprocessing\util.py", line 268, in _run_finalizers
finalizer()
...
WindowsError: [Error 5] Access is denied
'...'取代了许多其他类似的消息,有很多_subprocess.TerminateProcess
请再次记住,我已经在Visual Studio中完美地运行了这段代码,启动画面和主菜单都非常实用(游戏的其余部分也是如此)。