Hi i am wondering if someone could give me some tips on how to debug/solve this problem. I am trying to use LLI on Windows. I build llvm and clang using cmake. clang -c hello.c -emit-llvm -o hello.bc lli hello.bc D:\llvm\examples\helloworld>lli hello.bc LLVM ERROR: Program used external function '___stdio_common_vsprintf' which could not be resolved! But, I can generate the exe though llc -filetype=obj hello.bc link hello.obj -defaultlib:libcmt maybe i need a D:\llvm\examples\helloworld>clang --version clang version 5.0.0 (trunk 296084) (llvm/trunk 296083) Target: i686-pc-windows-msvc Thread model: posix InstalledDir: D:\llvm\build\Debug\bin D:\llvm\examples\helloworld>lli --version LLVM (http://llvm.org/): LLVM version 5.0.0svn DEBUG build with assertions. Default target: i686-pc-windows-msvc Host CPU: broadwell -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170224/85560da2/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: hello.bc Type: application/octet-stream Size: 5128 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170224/85560da2/attachment.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: hello.c Type: text/x-csrc Size: 76 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170224/85560da2/attachment.c>
I think you need to tell lli which shared libraries to load, via "-load option," in order to find missing symbols -- probably libcmt in this case, since that's what you passed to link in the llc example. hth... Don On Fri, Feb 24, 2017 at 9:02 PM jmiguel hernandez via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi > i am wondering if someone could give me some tips on how to debug/solve > this problem. I am trying to use LLI on Windows. I build llvm and clang > using cmake. > > clang -c hello.c -emit-llvm -o hello.bc > lli hello.bc > D:\llvm\examples\helloworld>lli hello.bc > LLVM ERROR: Program used external function '___stdio_common_vsprintf' > which could not be resolved! > > But, I can generate the exe though > llc -filetype=obj hello.bc > link hello.obj -defaultlib:libcmt > > maybe i need a > D:\llvm\examples\helloworld>clang --version > clang version 5.0.0 (trunk 296084) (llvm/trunk 296083) > Target: i686-pc-windows-msvc > Thread model: posix > InstalledDir: D:\llvm\build\Debug\bin > > D:\llvm\examples\helloworld>lli --version > LLVM (http://llvm.org/): > LLVM version 5.0.0svn > DEBUG build with assertions. > Default target: i686-pc-windows-msvc > Host CPU: broadwell > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170225/a1328197/attachment.html>
thank you! yes, i guess that is the problem. unfortunately libcmt doesn't work. could it have another name for lli? The function missing seems to be part of libcmt since i get a similar error on linking if i remove the libcmt D:\llvm\examples\helloworld>lli -load=libcmt hello.bc Error opening 'libcmt': libcmt: Can't open: The specified module could not be found. (0x7E) -load request ignored. LLVM ERROR: Program used external function '___stdio_common_vsprintf' which could not be resolved! D:\llvm\examples\helloworld>link hello.obj Microsoft (R) Incremental Linker Version 14.00.24215.1 Copyright (C) Microsoft Corporation. All rights reserved. hello.obj : error LNK2019: unresolved external symbol ___acrt_iob_func referenced in function _printf hello.obj : error LNK2019: unresolved external symbol ___stdio_common_vsprintf referenced in function __vsnprintf_l hello.obj : error LNK2019: unresolved external symbol ___stdio_common_vfprintf referenced in function __vfprintf_l LINK : error LNK2001: unresolved external symbol _mainCRTStartup hello.exe : fatal error LNK1120: 4 unresolved externals On Sat, Feb 25, 2017 at 11:30 AM, don hinton <hintonda at gmail.com> wrote:> I think you need to tell lli which shared libraries to load, via "-load > option," in order to find missing symbols -- probably libcmt in this case, > since that's what you passed to link in the llc example. > > hth... > Don > > On Fri, Feb 24, 2017 at 9:02 PM jmiguel hernandez via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi >> i am wondering if someone could give me some tips on how to debug/solve >> this problem. I am trying to use LLI on Windows. I build llvm and clang >> using cmake. >> >> clang -c hello.c -emit-llvm -o hello.bc >> lli hello.bc >> D:\llvm\examples\helloworld>lli hello.bc >> LLVM ERROR: Program used external function '___stdio_common_vsprintf' >> which could not be resolved! >> >> But, I can generate the exe though >> llc -filetype=obj hello.bc >> link hello.obj -defaultlib:libcmt >> >> maybe i need a >> D:\llvm\examples\helloworld>clang --version >> clang version 5.0.0 (trunk 296084) (llvm/trunk 296083) >> Target: i686-pc-windows-msvc >> Thread model: posix >> InstalledDir: D:\llvm\build\Debug\bin >> >> D:\llvm\examples\helloworld>lli --version >> LLVM (http://llvm.org/): >> LLVM version 5.0.0svn >> DEBUG build with assertions. >> Default target: i686-pc-windows-msvc >> Host CPU: broadwell >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170227/d0592fb2/attachment.html>