我正在尝试编译一个libpng库。问题是我需要这个库的特定版本 - 1.2.37 - 因为我使用它的项目是用这个版本编写的。 我找到了这个版本here(GnuWin32项目)的源代码。
但是文件夹结构看起来像这样:
libpng-1.2.37-src/
contrib/
projects/
scripts/
CMakeLists.txt
png.h
pngread.c
pngwrite.c
...
请参阅,CMakeLists.txt比源文件更深一层。
我试过了:
我该怎么做才能让它发挥作用?我不知道为什么如果CMakeLists.txt文件无法使用,它将被包括在内。
答案 0 :(得分:5)
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),但是你再次尝试之前忘了清理构建目录。
答案 1 :(得分:0)
如果您在项目中使用的是库,则可以通过名为“ superbuild”的技术(使用ExternalProject_Add)自动构建它。 通过将here中所述的SOURCE_SUBDIR指定为CMakeLists.txt子目录,您可以执行以下操作
ExternalProject_Add(libpng
GIT_REPOSITORY url-to-your-repository.git
GIT_TAG v1.2.37
SOURCE_SUBDIR "scripts"