无法在CMAKE或CMAKE gui中设置CMAKE_前缀_路径
我想使用无法在CMAKE或CMAKE gui中设置CMAKE_前缀_路径,cmake,cmake-gui,Cmake,Cmake Gui,我想使用CMAKE\u PREFIX\u PATH为CMAKE设置一个目录(比如/usr/local2),以搜索标题和库。我试图使用命令行 cmake -DCMAKE_PREFIX_PATH=/usr/local2 /path/to/src 但是cmake似乎没有接受这个提示(即它仍然在系统路径/usr/local中找到了库)。我还尝试了ccmake和cmake gui,但都没有提供要编辑的cmake\u PREFIX\u路径条目。当我搜索“PREFIX”时,唯一显示的是CMAKE\u INS
CMAKE\u PREFIX\u PATH
为CMAKE
设置一个目录(比如/usr/local2
),以搜索标题和库。我试图使用命令行
cmake -DCMAKE_PREFIX_PATH=/usr/local2 /path/to/src
但是cmake
似乎没有接受这个提示(即它仍然在系统路径/usr/local
中找到了库)。我还尝试了ccmake
和cmake gui
,但都没有提供要编辑的cmake\u PREFIX\u路径
条目。当我搜索“PREFIX”时,唯一显示的是CMAKE\u INSTALL\u PREFIX
。我看的地方不对吗?还是在安装cmake
时遗漏了什么
我使用的是cmake
3.1.3版(也尝试了3.0.2版),它与MacPorts一起安装。我记得在“高级”框中勾选了所有选项
我的CMakeLists.txt
文件非常简单
cmake_minimum_required (VERSION 3.0)
project (my_project CXX)
find_package (PNG REQUIRED)
include_directories (${PNG_INCLUDE_DIRS})
add_executable (my_executable test.cc)
target_link_libraries (my_executable ${PNG_LIBRARIES})
我还确保/usr/local2/lib
包含要搜索的cmake
的libpng.dylib
在cmakcache.txt
文件中,我发现
//No help, variable specified on the command line.
CMAKE_PREFIX_PATH:UNINITIALIZED=/usr/local2
提前感谢您的帮助 我相信,如果您创建一个
/usr/local2/lib
目录,并将libpng.dylib
放在那里(而不仅仅是/usr/local2
),cmake应该能够找到它。建议只使用CMAKE\u PREFIX\u PATH
作为基础。您能分享您的项目CMakeLists.txt吗?另外,您是否在构建目录中的CMakeCache.txt文件中看到CMAKE_PREFIX_PATH条目?您发布的cmake命令应该在缓存中设置了一个条目,当您切换“高级”框时,该条目会显示出来。@atsui感谢您的回复。请查看我对CMakeLists.txt
和CMakeCache.txt
文件的编辑。是的,这就是我放置libpng.dylib
的地方。我有一个o型的问题,并修复了它。谢谢你指出。但是cmake
仍然无法使用cmake\u PREFIX\u PATH
提示找到它。顺便说一句,如果我将CMAKE\u BUILD\u PREFIX
设置为/usr/local2
,它将找到并链接到那里的库。我不认为设置CMAKE\u BUILD\u PREFIX
有效果,因为它不是CMAKE特殊变量。至少我不能让它在一个干净的环境中为我工作。我认为如果您已经缓存了/usr/local/lib/libpng.dylib
,那么cmake
可能不会做任何事情。您是否尝试过清除生成目录并进行干净的生成?实际上,我的意思是CMAKE\u INSTALL\u PREFIX
。很抱歉给你带来了困惑。我试图从头开始创建一个构建目录,但似乎没有帮助。