cmake install不生效问题及解决方法

当我们在CMakeLists.txt中书写如下install格式,发现并没有生效

#需要在编译时执行  make install 才会生效
install(TARGETS
    ${PROJECT_NAME}
    RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/bin # 可执行文件
    LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/lib # 动态库
    ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/lib # 静态库
)

原因是因为install 需要在编译后执行 make install命令才行。

如果不想在编译脚本里加 make install ,则CMakeList需要改成如下形式即可:

# 重定向目标输出位置
set_target_properties(${PROJECT_NAME}
    PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin # 可执行文件
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib # 动态库
    ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib # 静态库
)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在非root用户下安装OpenCV4并使用g++/CMake编译,可以按照以下步骤进行操作: 1. 安装必要的依赖项 ``` sudo apt-get update sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 2. 下载OpenCV4源代码 ``` git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.0.0 ``` 3. 创建一个build目录并进行编译 ``` mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$HOME/opencv_install -DCMAKE_BUILD_TYPE=Release .. make -j8 make install ``` 其中,`$HOME/opencv_install` 是你想要安装OpenCV4的路径。 4. 配置环境变量 将以下内容添加到你的`.bashrc`文件中: ``` export PKG_CONFIG_PATH=$HOME/opencv_install/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$HOME/opencv_install/lib:$LD_LIBRARY_PATH ``` 然后执行以下命令使其生效: ``` source ~/.bashrc ``` 5. 编写CMakeLists.txt并进行编译 在你的项目目录中创建一个 `CMakeLists.txt` 文件,并在其中添加以下内容: ``` cmake_minimum_required(VERSION 2.8) project(your_project_name) find_package(OpenCV REQUIRED) add_executable(your_executable_name your_source_files.cpp) target_link_libraries(your_executable_name ${OpenCV_LIBS}) ``` 将 `your_project_name` 和 `your_executable_name` 分别替换为你的项目名和可执行文件名。 然后在项目目录下创建一个 `build` 目录,并在其中进行编译: ``` mkdir build cd build cmake .. make ``` 编译完成后,你的可执行文件将位于 `build` 目录下。 以上就是在非root用户下安装OpenCV4并使用g++/CMake编译的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值