Cmake 解决链接错误的正确方法是什么?

Cmake 解决链接错误的正确方法是什么?,cmake,makefile,Cmake,Makefile,我正在使用Ubuntu 14.04上的cmake来构建 它要求构建poppler版本>=0.25。我构建了poppler版本0.35.0 在此之后,我得到了一个链接错误,因为早期版本的poppler得到链接 我通过这样做解决了这个问题: ln -s /usr/lib/libpoppler.so.54.0.0 /usr/lib/i386-linux-gnu/libpoppler.so 基本上,这里的poppler版本指向新构建的版本。这看起来像是一个黑客 我的问题是,如果我有同一个库的两个版本,

我正在使用Ubuntu 14.04上的cmake来构建

它要求构建poppler版本>=0.25。我构建了poppler版本0.35.0

在此之后,我得到了一个链接错误,因为早期版本的poppler得到链接

我通过这样做解决了这个问题:

ln -s /usr/lib/libpoppler.so.54.0.0 /usr/lib/i386-linux-gnu/libpoppler.so
基本上,这里的poppler版本指向新构建的版本。这看起来像是一个黑客


我的问题是,如果我有同一个库的两个版本,如何确保“cmake”和“make”以及“g++”(cmake配置为poppler>=0.25.0)找到正确的版本?如何正确调试和修复此类链接错误?

正确的方法是修改
builddir/CMakeCache.txt
中的某个变量(
POPPLER\u LIBRARY
)。编辑此文件后,请确保使用
cmake.
重新生成生成文件(实际上,对于“unix makefiles”生成器,运行
make
也可以)


您还可以使用
cmakegui
app,它允许您使用漂亮的图形界面查看和编辑缓存值。

我需要指出的是,我多次使用“cmake”重新生成文件。