<div dir="ltr"><div><div>Hello,<br></div>I am new to clang and need some guidance as to where to start.<br><br></div><div>What I have done so far:<br></div><div>1. I have retrieved LLVM and CLang.<br></div><div>2. I have created a VS project using Cmake<br>
</div><div>3. I have built LLVM and Clang using Visual Studio 2013 and the project ALL_BUILD<br><br></div><div>What I would like to do:<br></div><div>I would like to use the CLang LibTooling library to start creating a refactoring tool. <br>
<br>First try: I created a Visual Studio Project included all the header files according to the following link:<br><a href="http://kevinaboos.wordpress.com/2013/07/23/clang-tutorial-part-ii-libtooling-example/">http://kevinaboos.wordpress.com/2013/07/23/clang-tutorial-part-ii-libtooling-example/</a><br>
<br></div><div>When I try to compile I get the error "Cannot open include file: 'clang/Driver/Options.inc': No such file or directory".<br><br></div><div>I used the make file:<br>###################################################<br>
<div class=""><div class=""><code class="">CLANG_LEVEL := ../..</code></div><div class=""> </div><div class=""><code class="">TOOLNAME = example  </code><code class="">#the name of your tool's executable</code></div><div class="">
 </div><div class=""><code class="">SOURCES := Example.cpp  </code><code class="">#the Clang source files you want to compile</code></div><div class=""> </div><div class=""><code class="">include $(CLANG_LEVEL)/../..</code><code class="">/Makefile</code><code class="">.config</code></div>
<div class=""> </div><div class=""><code class="">LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option</code></div><div class=""> </div><div class=""><code class="">USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a \</code></div>
<div class=""><code class="">           </code><code class="">clangTooling.a clangParse.a clangSema.a \</code></div><div class=""><code class="">           </code><code class="">clangAnalysis.a clangRewriteFrontend.a clangRewriteCore.a \</code></div>
<div class=""><code class="">           </code><code class="">clangEdit.a clangAST.a clangLex.a clangBasic.a</code></div><div class=""> </div><div class=""><code class="">include $(CLANG_LEVEL)</code><code class="">/Makefile</code></div>
</div>###################################################<br><br></div><div>Second try: I copied my example.cpp file under llvm\tools\clang\tools\example and used the GNUWin32 make.<br></div><div>I get the error that there is no Makefile.config in my llvm folder. I noticed that there isn't any but there is a <a href="http://makefile.config.in">makefile.config.in</a> file. I renamed that to makefile.config.<br>
</div><div>I kept getting errors like the following:<br><br></div><div>Makefile.config:278: *** missing seperator.<br></div><div>When I look at the makefile on line 278 I see the following:<br><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">
#################################################<br># When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put
# into the "Release" directories. Otherwise, LLVM code is not optimized and
# output is put in the "Debug" directories.
#ENABLE_OPTIMIZED = 1
@ENABLE_OPTIMIZED@ -- Line 278<br>#################################################<br><br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">If I uncomment line 277 it works but I get similar errors for other following lines.<br>
<br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">Question:<br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">Am I missing something?<br>
<br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">Thanks for any help you can provide.<br><br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white">
Kind regards<br>Sami<br></pre><pre style="font-family:Consolas;color:black;background:none repeat scroll 0% 0% white"><br></pre><br></div><div><br><br></div></div>