首页 > 系统相关 >Linux 系统上非 root 用户在cmake时使用 pybind11

Linux 系统上非 root 用户在cmake时使用 pybind11

时间:2024-08-24 12:26:02浏览次数:5  
标签:上非 cmake 路径 pybind11 Linux root

Linux 系统上非 root 用户在cmake时使用 pybind11

  • 标签: linux
  • AI 摘要: 非root用户可以通过在Linux系统上使用pip安装pybind11,随后使用命令获取cmake路径,并在CMakeLists.txt中手动添加该路径以便于CMake找到pybind11。具体步骤包括安装pybind11、获取cmake目录并在CMakeLists.txt中设置相关路径。

Linux 系统上非 root 用户在cmake时使用 pybind11

需求:运行python程序时需要使用pybind绑定C++程序,所以需要在cmake时使用pybind,一般是用sudo apt-get install 用于系统安装,但是我没有root权限,所以想找一个不用root的方法。

based:python的conda虚拟环境配置,pip

步骤

  1. pip install pybind11
  2. python -m pybind11 --cmakedir((pybind11 提供了一个 pybind11Config.cmake 文件,可以帮助 CMake 找到它,这个命令会输出一个路径,比如:/home/xxx/miniconda3/envs/py310/lib/python3.10/site-packages/pybind11/share/cmake/pybind11
  3. CMakeLists.txt 中手动添加这些路径,例如:
cmake_minimum_required(VERSION 2.8.12)
project(spherical_voxel)
set (CMAKE_CXX_STANDARD 11)

# 添加这条代码,将pybind包路径添加到本cmakeList的包路径查询列表。
list(APPEND CMAKE_PREFIX_PATH "/home/xxx/miniconda3/envs/py310/lib/python3.10/site-packages/pybind11/share/cmake/pybind11")

find_package(pybind11 REQUIRED)

set(SOURCE_DIR "src")
set(srcs "${SOURCE_DIR}/spherical_voxel.cc")

pybind11_add_module(spherical_voxel ${srcs})

标签:上非,cmake,路径,pybind11,Linux,root
From: https://www.cnblogs.com/name555difficult/p/18377635

相关文章

  • CMake构建学习笔记1-概述
    CMake可以说已经是C/C++构建的事实标准了,目前绝大多数的C/C++项目都已经采用CMake进行构建,好处至少有两点:一个是跨平台,另一个是方便依赖库引入。不过笔者认为,像CMake这种工具其实也没必要特意学习,说到底它也不过是方便程序员使用的工具,没有它程序员也能进行C/C++程序的构建,只不过......
  • cmake具体示例
    CMake具体示例目录结构project0702/├──CMakeLists.txt#主目录的CMake配置文件├──build/#构建输出目录│└──Debug/#Debug模式下的输出目录├──lib/#存放......
  • CMake编译不同文件目录下的C++文件
        由于我们构建一个项目的时候,通常不会将所有的源文件放在一个文件目录下,这样既不方便开发,也不方便源码阅读,我们通常会对项目文件进行分层,比如分为include、src、res、lib这些目录,src下又分为model、controller、view这些目录。所以跨文件编译C++文件就相当必要了,如......
  • 【C/C++ 软件开发模拟面试 集】cmake 相关知识点模拟面试
    摘自:https://zhuanlan.zhihu.com/p/662623216第一轮:基础知识 1.1什么是CMake? 面试官: 请问你能简单描述一下CMake是什么,以及它通常用来做什么吗? 面试者: CMake是一个跨平台的自动化构建系统,主要用来管理软件构建的过程,它使用一个名为CMakeLists.txt的配置文件来指导编......
  • cmake openssl 生成失败
    生成azerothcode的时候报错,改成1.x版本就好了,我用的1.1.1。CMakeErroratE:/Soft/CMake326/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230(message):CouldNOTfindOpenSSL,trytosetthepathtoOpenSSLrootfolderinthesystemvariableOPEN......
  • cmake 常用命令记录
    cmake常用命令记录命令cmake_minimum_requiredprojectadd_executablesetconfigure_filetarget_**optionmessageadd_libraryadd_subdirectoryadd_definitionsinstallcpackmacrostringfileDEFINEDlistfind_packagectest构建类型扩展gtest命令cmake_minimum_required......
  • 【cmake】关于cmake链接库的顺序要求
    注意注意:在CMake中,你可以使用target_link_libraries命令来指定链接顺序。这个命令接受一个目标(target)和一系列库(库可以是库目标、库文件路径或导入的库目标)作为参数。链接顺序通常很重要,特别是当库之间存在依赖关系时。cmake_minimum_required(VERSION3.10)project(My......
  • 【CMake】掌握CMake基本操作
    @目录1.文件树和CMakeLists.txt一览1.1语法基本规则1.2文件目录讲解2.基本指令讲解2.1CMAKE_MINIMUM_REQUIRED(VERSIONXXX)2.2PROJECT(projectname)2.3SET()2.4ADD_SUBDIRECTORY(srcbin)2.5INCLUDE_DIRECTORIES(lib/)2.6ADD_EXECUTABLE(mainmain.cpp)2.7ADD_LIBRARY(......
  • 视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库
            ch3中的所有代码,除了在kdevelop中运行,还可以在VScode中运行。下面将简要演示配置过程,代码不再做解答,详细内容在下面的文章中。(这一节中的pangolin由于安装过程中会出现很多问题,且后续内容用不到该平台,所以暂时不进行安装)视觉SLAMch3—三维空间的刚体运动http......
  • CMake 构建 C++ 项目
    使用CMake构建C++项目便于跨平台开发,在Linux上可以生成makefile,并通过make来进行编译。在Windows上可以生成.sln项目,并结合VS继续进行开发,或MSVC编译器来直接将项目编译成目标文件。1、创建.cpp文件,以编译成exe程序#include<iostream>intmain(){printf("h......