<p>我想开始使用<strong>libclang</strong>和<strong>Python</strong>。我正在尝试获取一个示例代码(<a href="http://www.altdevblogaday.com/2014/03/05/implementing-a-code-generator-with-libclang/" rel="nofollow">http://www.altdevblogaday.com/2014/03/05/implementing-a-code-generator-with-libclang/</a>)来运行<strong>Windows</strong>,下面是我尝试运行的代码的一部分:</p>
<pre><code>#!/usr/bin/python
# vim: set fileencoding=utf-8
import sys
import os
import clang.cindex
import itertools
...
print("Setting clang path")
# I tried multiple variations. Libclang is correctly installed in the specified location.
#clang.cindex.Config.set_library_path('C:/Program Files (x86)/LLVM/bin')
#clang.cindex.Config.set_library_path('C:/Program Files (x86)/LLVM/bin/libclang.dll')
# I also tried moving the dll into the Python installation folder.
clang.cindex.Config.set_library_file('C:/Python27/DLLs/libclang.dll')
print("Clang path set")
index = clang.cindex.Index.create()
...
</code></pre>
<p>我删除了代码的所有其他部分,但是如果它们是相关的,我可以发布它们。线</p>
^{pr2}$
<p>引发以下错误:</p>
<pre><code>Setting clang path
Clang path set
Traceback (most recent call last):
File "D:\libclangtest\boost_python_gen.py", line 60, in <module>
index = clang.cindex.Index.create()
File "D:\libclangtest\clang\cindex.py", line 2095, in create
return Index(conf.lib.clang_createIndex(excludeDecls, 0))
File "D:\libclangtest\clang\cindex.py", line 141, in __get__
value = self.wrapped(instance)
File "D:\libclangtest\clang\cindex.py", line 3392, in lib
lib = self.get_cindex_library()
File "D:\libclangtest\clang\cindex.py", line 3423, in get_cindex_library
raise LibclangError(msg)
clang.cindex.LibclangError: [Error 193] %1 is not a valid Win32 application. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().
</code></pre>
<p>这是什么原因?我是否设置了错误的dll路径?我尝试了多种方法,使用前斜杠和反斜杠,我还试图将dll从程序文件中移出,使路径不包含空格,但没有任何效果。在</p>
<p>我完全是libclang和Python的初学者,如果我问的是一些琐碎的问题,我会很抱歉。在</p>