[llvm-dev] lli can't find vsprintf

don hinton via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 27 13:18:07 PST 2017


On Linux I don't need to explicitly load the c standard library, but not
sure what happens on windows.  However, I think you need to pass the
complete name, and perhaps the path.  On windows I think the name is
something like libcmt.lib, but have no idea where it lives.


On Mon, Feb 27, 2017 at 12:44 PM jmiguel hernandez <jmiguel.hdez at gmail.com>
wrote:

> 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/91ac6c45/attachment.html>


More information about the llvm-dev mailing list