【发布时间】:2019-09-20 18:04:51
【问题描述】:
不久前,我编写了一个代码生成程序,用于我的 3D 游戏引擎。我在我的 cmake 文件中添加了一个目标,将 libclang 与它链接起来,因为我正在使用它来解析代码,并且一切正常。最近我在我的项目中添加了另一个依赖项,它又依赖于 SDL2。经过一番努力,我终于设法让它工作,但突然代码生成项目将不再编译,即使我实际上几个月都没有碰过它。它无法链接,并开始给出有关未定义符号的错误,即使我明确指定要链接到的 .lib 文件并为其提供正确的路径。我项目的 Cmake 文件是 here。
我在 Windows 上使用 Cmake GUI、生成器 VS2017 (x64)、平台工具集 LLVM。
非常感谢您对此问题的任何见解。
更新:我得到的确切错误只是
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 函数。
【问题讨论】:
-
请编辑您的问题帖子以包含您看到的特定错误。
标签: c++ cmake linker llvm libclang