这里没有问题,但是我可以设法安装include-what-you-use…我需要下载哪些文件,哪个是我需要指向CMAKE_PREFIX_PATH的正确文件夹?或者有没有别的方法不用我自己构建就可以使用iwyu ?我希望能够在我的cmake项目中使用iwyu。我需要在windows上构建。
我切换到clang_15分支,下载并解压缩clang+llvm-15.0.0-amd64-pc-solaris2.11.tar。Xz从https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.0并运行cmake,但它抛出这个错误多次:
CMake Error at C:/Users/morit/Documents/dev/iwyu/clang+llvm-15.0.0-amd64-pc-solaris2.11/clang+llvm-15.0.0-amd64-pc-solaris2.11/lib/cmake/llvm/AddLLVM.cmake:932 (add_executable):
Target "include-what-you-use" links to target "ZLIB::ZLIB" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
CMakeLists.txt:101 (add_llvm_executable)
下载LLVM-15.0.0-win64.exe也不工作
我运行cmake与cmake -S . -B build "-DCMAKE_PREFIX_PATH=C:Program FilesLLVM"
(从源代码树,与构建作为构建文件夹)我不想自己构建clang,因为这会花费很长时间。
您最有可能遇到的问题是您正在使用binaries
构建具有特定的编译器a. 然而,您正在使用不同的编译器B构建项目。并试图包括binaries
从编译器A.
这将不起作用,因为binaries
是不同的!您需要对库和当前项目使用相同的编译器。这很可能是您的CMake
无法找到现有库和已安装库的原因。
编辑:如果你使用相同的编译器。然后问题是由于缺少依赖项ZLIB
而导致的错误状态。
EDIT2:要回答您关于CMAKE_PREFIX_PATH
的问题,您应该忘记它,而是更新您的CMAKE_MODULE_PATH
,这是一个列表变量。这个变量应该包含path
到findZLIB.cmake
文件(分别是给定依赖项的findXYZ.cmake
文件)。库的作者应该包括他使用的依赖项列表,如果没有,您可以查看CMakeLists.txt
文件以获取所需信息。