首先,我正在使用Centos 7,我正在尝试编译最新的可黑暗版本,并且我已经克服了sveral问题,包括编译gphoto2、exiv2等等。
但是现在,当我尝试使用下面的基本说明构建可暗的:https://github.com/darktable-org/darktable
mkdir build/ cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ .. make sudo make install
在尝试cmake几次时,我不得不解决一些暂时的问题,但是我被困住的问题是。
Centos7附带Exiv2版本0.23,暗表要求最低版本0.24
我用dnf删除了exiv2 0.23,然后成功地编译并安装了从源代码到0.26版本的exiv2。
经过几次尝试,我将exiv2配置为--前缀=/usr,暗表表示他找不到库。
现在我仍然有同样的问题,cmake退出时有以下错误:
CMake Error at cmake/modules/FindExiv2.cmake:46 (message): Exiv2 version check failed. Version was found, at least version 0.24 is required Call Stack (most recent call first): src/CMakeLists.txt:292 (find_package) -- Configuring incomplete, errors occurred! See also "/opt/darktable-2.4.1/build/CMakeFiles/CMakeOutput.log". See also "/opt/darktable-2.4.1/build/CMakeFiles/CMakeError.log".
我对cmake几乎一无所知,但是我看到src/CMakeLists.txt第292行搜索一个不再存在的包,因为我已经用dnf删除了它。
# Require exiv2 >= 0.24 to make sure everything we need is available find_package(Exiv2 0.24 REQUIRED) include_directories(SYSTEM ${Exiv2_INCLUDE_DIRS}) list(APPEND LIBS ${Exiv2_LIBRARIES}) add_definitions(${Exiv2_DEFINITIONS})
但是如何使cmake看起来像我已经构建和安装的exiv2呢?找到它所需要的所有图书馆?
找到了解决方案!
我意识到在/usr/lib 64/pkgconfig /usr/local/lib/pkgconfig和其他几个文件中,有很多*.pc文件。
在编译和安装Exiv2之后,它将这个exv2.pc放在/usr/lib/pkgconfig/下面。这是那里唯一的文件。
因此,我在/usr/lib64 64/pkgconfig中创建了一个到exiv2.pc文件的软链接,它完成了这个工作,只是弹出了另一个问题列表。
发布于 2018-01-27 22:56:47
该CMake行在Exiv2_INCLUDE_DIRS中查找头文件,并查找库文件Exiv2_LIBRARIES。尝试在CMake命令中设置这些变量:
cmake [...] -DExiv2_INCLUDE_DIRS=/usr/include -DExiv2_LIBRARIES=/usr/lib(也许后者需要是库文件本身,而不是它的目录,我不知道。)
( [...]将被替换为您已经拥有的任何参数。)
https://stackoverflow.com/questions/48481328
复制相似问题