c – cmake – CMakeLists.txt不在根文件夹中(但包含在源文件夹中)

前端之家收集整理的这篇文章主要介绍了c – cmake – CMakeLists.txt不在根文件夹中(但包含在源文件夹中)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编译一个libpng库.问题是我需要这个库的特定版本 – 1.2.37 – 因为我使用它的项目是用这个版本编写的.
我找到了这个版本 here(GnuWin32项目)的源代码.

文件夹结构看起来像这样:

libpng-1.2.37-src/
   contrib/
   projects/
   scripts/
      CMakeLists.txt
   png.h
   pngread.c
   pngwrite.c
   ...

请参阅,CMakeLists.txt比源文件更深一级.

我试过了:

>源目录libpng-1.2.37-src / – >导致错误:源目录似乎不包含CMakeLists.txt
>源目录libpng-1.2.37-src / scripts – >导致多个错误文件libpng-1.2.37-src / scripts / scripts / libpng.pc.in不存在.
>将/ scripts中的CMakeLists.txt复制到/libpng-1.2.37-src并将源目录设置为/libpng-1.2.37-src – >导致错误:源“/libpng-1.2.37-src/CMakeLists.txt”与用于生成缓存的源“/libpng-1.2.37-src/scripts/CMakeLists.txt”不匹配.

我该怎么做才能让它发挥作用?我不知道为什么如果不能使用CMakeLists.txt文件将被包括在内.

解决方法

INSTALL文件明确地说:
If you want to use "cmake" (see www.cmake.org),copy CMakeLists.txt
from the "scripts" directory to this directory and type

   cmake . [-dpnG_MMX=YES] -DCMAKE_INSTALL_PREFIX=/path
   make
   make install

作为旁注,在此之前,它说安装它的经典方法是:

On Unix/Linux and similar systems,you can simply type

    ./configure [--prefix=/path]
    make check
    make install

听起来你用3)做对了,但是你再次尝试之前忘了清理构建目录.

猜你在找的C&C++相关文章