gpt4 book ai didi

c++ - cmake - CMakeLists.txt 不在根文件夹中(但包含在源代码中)

转载 作者:可可西里 更新时间:2023-11-01 18:36:56 32 4
gpt4 key购买 nike

我正在尝试编译一个 libpng 库。问题是我需要这个库的特定版本 - 1.2.37 - 因为我正在使用它的项目是用这个版本编写的。我找到了这个版本的源代码here (GnuWin32 项目)。

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

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

看,CMakeLists.txt 比源文件深一层。

我试过:

  1. 源目录libpng-1.2.37-src/ -> 导致错误:源目录似乎不包含CMakeLists.txt
  2. 源目录 libpng-1.2.37-src/scripts -> 导致多个错误:文件 libpng-1.2.37-src/scripts/scripts/libpng.pc.in 不存在。
  3. 将 CMakeLists.txt 从 /scripts 复制到 /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++ - cmake - CMakeLists.txt 不在根文件夹中(但包含在源代码中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409935/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com