我知道cmake . && make all install.这有效,但安装到/usr/local.
我需要安装到不同的前缀(例如,to /usr).
什么是cmake和make命令行安装,以/usr代替/usr/local?
我不太了解cmake,我正在尝试使用cmake和Qt构建一个客户端.收到以下错误:
在alethzero/CMakeLists.txt的CMake错误:26(find_package):由于未在CMAKE_MODULE_PATH中提供"FindQt5Widgets.cmake",该项目
已要求CMake查找
"Qt5Widgets" 提供的包配置文件,但CMake没有找到.找不到"Qt5Widgets"提供的包配置文件,其中包含以下任何名称:
Run Code Online (Sandbox Code Playgroud)Qt5WidgetsConfig.cmake qt5widgets-config.cmake将"Qt5Widgets"的安装前缀添加到CMAKE_PREFIX_PATH或将"Qt5Widgets_DIR"设置为包含上述文件之一的目录.如果"Qt5Widgets"提供单独的开发包或SDK,请确保它已安装.
- 配置不完整,发生错误!
据我所知,我需要将QT路径添加到CMake.我该怎么做?我在/ home/user/Programs中安装了Qt.我发现的所有解释都是"只做这个或那个".我需要确切的终端命令,所以我可以在将来学习如何操作.
谢谢!
更新:export CMAKE_PREFIX_PATH=/home/user/Programs没有帮助我.
如何在我的根CMakeLists.txt文件中设置CMAKE_INSTALL_PREFIX?
我一直在做
cmake_minimum_required(VERSION 2.8)
project(MyProject)
# Set default install prefix
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR})
Run Code Online (Sandbox Code Playgroud)
期望安装将注定源树中的文件夹.那是,
install(TARGETS my_exe DESTINATION bin/)
Run Code Online (Sandbox Code Playgroud)
会安装到${CMAKE_SOURCE_DIR}/bin/.相反,它一直试图写入/usr/local/bin(Ubuntu 14.04的默认值).
我尝试了这个问题的答案,但是usr/local/当我检查CMakeCache.txt时,我仍然将标准作为我的CMAKE_INSTALL_PREFIX.
我唯一可行的解决方案就是做
install(TARGETS my_exe DESTINATION "${CMAKE_SOURCE_DIR}/bin/")
Run Code Online (Sandbox Code Playgroud)
但这会删除用户指定要安装的bin目录的位置的能力.
tl; dr我想默认make install自动安装${CMAKE_SOURCE_DIR},而不是/usr/local/.