Looks like you will need to modify the make rules in: https://[email protected]/svn/llvm-project/lldb/trunk/test/make/Makefile.rules
to actually handle linking shared libraries on windows. There are a few (5-10) tests that link shared libraries and we want those to work. It is passing "-shared" to clang.exe, but it isn't recognizing it. > On Dec 2, 2014, at 3:49 PM, Zachary Turner <[email protected]> wrote: > > I actually get errors when doing this. > > d:\src\llvm\tools\lldb\test\lang\c\shared_lib>make > CC=d:\src\llvm\build\ninja\bin\clang.exe > 'g++' is not recognized as an internal or external command, > operable program or batch file. > The system cannot find the file specified. > The system cannot find the file specified. > d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32 -fPIC > -Id:/src/llvm/tools/lldb/test/make/../../include -c -o main.o main.c > d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32 -fPIC > -Id:/src/llvm/tools/lldb/test/make/../../include -c -o foo.o foo.c > d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32 -fPIC > -Id:/src/llvm/tools/lldb/test/make/../../include -fuse-ld=lld foo.o -shared > -o "libfoo.so" > clang.exe: warning: argument unused during compilation: '-shared' > Cannot infer subsystem; assuming /subsystem:console > Undefined symbol: C:\Program Files (x86)\Microsoft Visual Studio > 12.0\VC\lib\libcmt.lib(f:\binaries\Intermediate\vctools\crt_bld\SELF_X86\crt\prebuild\build\INTEL\mt_obj\nativec\\crt0.obj): > _main > symbol(s) not found > clang.exe: error: linker command failed with exit code 1 (use -v to see > invocation) > make: *** [libfoo.so] Error 1 > > > This probably hints a deeper issue or just something else I haven't gotten > around to fixing yet (like maybe it's broken for all C files, and only works > for C++). > > Just so I understand, is this a location where it's supposed to find system > libraries, like libc or similar? Or is this for something else? Clang is > pretty good about automatically finding all required libraries on Windows, so > if it's just for that it might not be needed, but if it's a place we're > putting our own shared libraries, then maybe we do. > > On Tue Dec 02 2014 at 3:26:32 PM Greg Clayton <[email protected]> wrote: > You will actually want to set this correctly for windows. To find out what > settings to use use: > > cd test/lang/c/shared_lib > make > > Then look for the shared library that was created "libfoo.dll"? If so your > setup would be: > > > ``` > elif sys.platform.startswith('windows'): > cls.platformContext = _PlatformContext('PATH', 'lib', 'dll') > > ``` > > REPOSITORY > rL LLVM > > http://reviews.llvm.org/D6484 > > _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
