Ich verwende emcc
/em++
, versucht, mehrere LLVM Byte-Codes zu verknüpfen, aber einige von ihnen scheitern.Wie listet man alle Symbole auf, die em ++ gefunden hat?
Das Problem ist, dass es besagt, dass mehrere Symbole nicht gefunden werden.
warning: unresolved symbol: inflateEnd
warning: unresolved symbol: _ZN6Assimp3FBX6ObjectC2EyRKNS0_7ElementERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE
warning: unresolved symbol: inflateInit_
warning: unresolved symbol: _ZN6Assimp3FBX6ObjectD2Ev
warning: unresolved symbol: inflate
Es scheint, dass das Symbol inflate
nicht behoben wurde, aber es existiert sicherlich in unzip.c.o.
$ file unzip.c.o
unzip.c.o: LLVM IR bitcode
$ llvm-nm unzip.c.o
U crc32
-------- t decrypt_byte
U fill_fopen_filefunc
U free
U get_crc_table
U inflate
U inflateEnd
U inflateInit2_
-------- t init_keys
U malloc
U strcmp
-------- t strcmpcasenosensitive_internal
U strlen
-------- T unzClose
-------- T unzCloseCurrentFile
-------- T unzGetCurrentFileInfo
-------- T unzGetFilePos
-------- T unzGetGlobalComment
-------- T unzGetGlobalInfo
-------- T unzGetLocalExtrafield
-------- T unzGetOffset
-------- T unzGoToFilePos
-------- T unzGoToFirstFile
-------- T unzGoToNextFile
-------- T unzLocateFile
-------- T unzOpen
-------- T unzOpen2
-------- T unzOpenCurrentFile
-------- T unzOpenCurrentFile2
-------- T unzOpenCurrentFile3
-------- T unzOpenCurrentFilePassword
-------- T unzReadCurrentFile
-------- T unzSetOffset
-------- T unzStringFileNameCompare
-------- D unz_copyright
-------- T unzeof
-------- t unzlocal_CheckCurrentFileCoherencyHeader
-------- t unzlocal_DosDateToTmuDate
-------- t unzlocal_GetCurrentFileInfoInternal
-------- t unzlocal_SearchCentralDir
-------- t unzlocal_getByte
-------- t unzlocal_getLong
-------- t unzlocal_getShort
-------- T unztell
-------- t update_keys
Tatsächlich gibt es Möglichkeiten, um zu sehen, was em++
als Symbol aufgelöst hat? Es wird besser sein, wenn ich den Grund verstehen kann, warum Symbole in unzip.c.o von em++
ignoriert wurden.
'U aufblasen' bedeutet, dass das Symbol referenziert, aber nicht definiert ist. –