<div dir="ltr">Okay so it's working for me but not for you, and the two obvious possible candidates for reasons why are that you're using MinGW or that your program does more than mine currently does, and therefore requires more of the functionality of libTooling. To distinguish between those, can you try compiling your program in the way I've been compiling mine, with Microsoft C++ driven by a Windows batch file, and see if that makes any difference?</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 22, 2016 at 8:05 PM, barbara <span dir="ltr"><<a href="mailto:barbara@copperspice.com" target="_blank">barbara@copperspice.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Russell,<br>
<br>
Our initial testing right now is on Windows however we are not
using VS but rather MinGW. Our application will need to support
libTooling on multiple flavors of Linux and OS X. <br>
<br>
What we have tested seems to imply there is an ordering issue. I
tried the following in our Makefile and there are still unresolved
symbols.<br>
<br>
clang_link=-L$(clang_path)/lib -llibclang $(clang_path)/lib/*.a<br>
<br>
Any ideas or suggestions?<span class="HOEnZb"><font color="#888888"><br>
<br>
Barbara<br>
<br>
<br>
</font></span></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">I solved the problem of which libraries by not
solving it; on Windows, my compile command looks like
<div><br>
</div>
<div>cl /I\llvm\build\include /I\llvm\build\tools\clang\include
/I\llvm\include /I\llvm\tools\clang\include /MTd /Zi
compile.cpp \llvm\build\Debug\lib\*.lib setargv.obj<br>
</div>
<div><br>
</div>
<div>I.e. just link all the libraries. Is there an equivalent of
that on Unix?</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Apr 22, 2016 at 5:15 AM,
barbara via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank"></a><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Manuel,<br>
<br>
Yes, we have looked at this page and it does talk about
building clang which we have done successfully. We have
figured out the required headers by simply compiling.
Our issue is linking.<br>
<br>
Submitting a documentation patch would be a great idea
and we are happy to do this, once we know how it works.
<br>
<br>
Just to be clear, we are not putting our code in the
clang source tree. We are integrating clang parsing as
part of another open source project. We need to modify
our build files to link with libTooling.<br>
<br>
We have not been able to decipher which libraries are
required. The following is part of a makefile we
randomly found on GitHub. Is it really this hard? Sadly
this Makefile did not work for us, we still have link
issues.<br>
<br>
<br>
LIB = -lclangFrontend -lclangDriver -lclangTooling \
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">
-lclangDriver -lclangTooling -lclangFrontendTool \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangFrontend
-lclangDriver -lclangSerialization \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangCodeGen
-lclangParse -lclangSema \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangStaticAnalyzerFrontend
-lclangStaticAnalyzerCheckers \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangStaticAnalyzerCore
-lclangAnalysis \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangARCMigrate
-lclangRewriteFrontend \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangRewriteCore
-lclangEdit -lclangAST \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangLex
-lclangBasic -lclangCodeGen -lclangSema \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangAnalysis
-lclangAST -lclangParse -lclangLex \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangASTMatchers
\</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangBasic
-lLLVMSupport</p>
<br>
<br>
<br>
Barbara<br>
<br>
<br>
<br>
<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote"><span>
<div dir="ltr">On Thu, Apr 21, 2016 at 9:31 AM
barbara <<a href="mailto:barbara@copperspice.com" target="_blank">barbara@copperspice.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Manuel,<br>
<br>
Yes, we have read all of the links on
clang.llvm for LibTooling. Most simply
mention how to use the existing tools.
There is simply nothing we can find which
shows which clang libraries are required for
libTooling.<br>
<br>
The page you listed shows how to run
ClangCheck, not how to link an third party
application with libTooling. We are
developing a new tool and libTooling seems
to be our best shot. <br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>The page I linked shows how to write the
code. The libraries you need follow from the
headers / classes you use.</div>
<div><br>
</div>
<div>This:</div>
<div><a href="http://clang.llvm.org/docs/LibASTMatchersTutorial.html" target="_blank">http://clang.llvm.org/docs/LibASTMatchersTutorial.html</a><br>
</div>
<div>should also be still mostly up to date - if
it isn't, patches are welcome :D</div>
<div><br>
</div>
<div>Cheers,</div>
<div>/Manuel</div>
<div> </div>
</span>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div> <br>
<br>
Barbara<br>
<br>
<br>
<br>
</div>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite"><span>
<div dir="ltr">I assume you have found:
<div><a href="http://clang.llvm.org/docs/LibTooling.html" target="_blank">http://clang.llvm.org/docs/LibTooling.html</a><br>
</div>
<div>(which is the first hit for me when
searching for "libtooling clang")</div>
</div>
<br>
</span>
<div class="gmail_quote"><span>
<div dir="ltr">On Wed, Apr 20, 2016 at
9:56 PM barbara via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank"></a><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>
wrote:<br>
</div>
</span>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
<div bgcolor="#FFFFFF" text="#000000"> <font face="Helvetica, Arial, sans-serif">We
have found AST limitations with
libClang and understand few
developers are using this approach
for parsing C++. We have been
advised to switch to using
libTooling, which now makes sense.
<br>
<br>
We have found limited documentation
and are working our why though what
it take to set up a project which
uses libTooling. The only tutorials
we have found are from several years
ago. If newer ones exist it would be
great to know about them. Searching
for "libTooling" yields too many
hits on "libtool", which is
obviously not what we are looking
for. <br>
<br>
I believe we have figured out the
appropriate include files. Our
current obstacle is figuring out
what clang libraries we need. This
seems to be order dependent, but I
could be incorrect. We have link
errors and trying to look up
undefined symbols in nearly
impossible.<br>
<br>
We look forward to someone who can
point us in the right direction as
it seems we are missing a few
basics. <br>
<br>
Thanks, <br>
<br>
Barbara<br>
Co-Founder of DoxyPress<br>
</font><br>
</div>
</span><span>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</span></blockquote>
</div>
</blockquote>
</div>
<div bgcolor="#FFFFFF" text="#000000"><br>
</div>
</blockquote>
</div>
</div>
</blockquote>
_________________<br>
</div>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<br>
<table style="border-top:1px solid #aaabb6">
<tbody><tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/2016/icons/icon-envelope-tick-round-orange-v1.png"></a></td>
<td style="width:470px;padding-top:15px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link" style="color:#4453ea" target="_blank">www.avast.com</a>
</td>
</tr>
</tbody></table></div></div></div>
</blockquote></div><br></div>