Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无法在VS2017上将libclang与cmake链接_C++_Cmake_Linker_Llvm_Libclang - Fatal编程技术网

C++ 无法在VS2017上将libclang与cmake链接

C++ 无法在VS2017上将libclang与cmake链接,c++,cmake,linker,llvm,libclang,C++,Cmake,Linker,Llvm,Libclang,不久前,我编写了一个代码生成程序,用于我的3D游戏引擎。我在cmake文件中添加了一个目标,并将libclang与之链接,因为我正在使用它来解析代码,所有这些都很好地工作。最近,我在我的项目中添加了另一个依赖项,它又依赖于SDL2。经过一番努力,我终于成功地实现了这一点,但突然间,代码生成项目将不再编译,尽管我已经几个月没有接触过它了。它无法链接,并开始给出有关未定义符号的错误,即使我明确指定了要链接的.lib文件并为其提供了正确的路径。我的项目的Cmake文件是 我在windows、gener

不久前,我编写了一个代码生成程序,用于我的3D游戏引擎。我在cmake文件中添加了一个目标,并将libclang与之链接,因为我正在使用它来解析代码,所有这些都很好地工作。最近,我在我的项目中添加了另一个依赖项,它又依赖于SDL2。经过一番努力,我终于成功地实现了这一点,但突然间,代码生成项目将不再编译,尽管我已经几个月没有接触过它了。它无法链接,并开始给出有关未定义符号的错误,即使我明确指定了要链接的.lib文件并为其提供了正确的路径。我的项目的Cmake文件是

我在windows、generator VS2017(x64)、平台工具集LLVM上使用Cmake GUI

非常感谢您对这个问题的任何见解

更新:我得到的确切错误只是

1>C:\Program Files (x86)\LLVM\bin\lld-link.exe : error : undefined symbol: __imp_clang_getTranslationUnitCursor
1>>>> referenced by C:\Users\michi_000\Desktop\C++\SaturnEngine\CodeGen\Serialization\main.cpp:128
1>>>>               SerializationCodeGen.dir\Editor\main.obj:(?get_cursor@TranslationUnit@@QEAA?AUCXCursor@@XZ)

对于我调用的每个libclang函数。

问题已经解决。问题是我的clang安装没有为clang提供导入库,而是链接了一个静态库。标头需要导入库,这导致导入库失败。我从dll生成了导入库,现在可以正常工作。

请编辑您的问题帖子,以包含您看到的特定错误。