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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...