安装cmake,没有sudo权限,cannot find openssl; install cmake cannot find openssl, without sudo

背景:实验室公共服务器,账号无sudo权限,也没有openssl,所以安装起来有点费劲。

1、下载cmake安装包,这里以3.21.1为例,如有其他版本要求,请自行去下面网址查找。然后使用tar -zxvf XX命令进行解压,并进入解压之后的目录。Index of /fileshttps://cmake.org/files/

wget https://cmake.org/files/v3.21/cmake-3.21.1.tar.gz

2、修改CMakeLists.txt,在其中添加set(CMAKE_USE_OPENSSL OFF),可以直接添加到文件首行, 这里具体位置应该没有要求。用于解决没有openssl的问题。

3、使用如下命令重载make的指定路径,如果没有sudo权限,直接写入usr会报没有权限的异常。其中$HOME是指向你该用户的root路径,在我这里就是/home/tempUser, make install之后的bin文件等就保存在你指定的anyDirectory目录下。用于解决没有sudo权限问题

./configure --prefix=$HOME/anyDirectory
make
make install

4、在完成上述操作之后,就需要配置本用户的.bashrc文件,在其中添加 export PATH="$HOME/anyDirectory/bin:$PATH" 并重新加载.bashrc文件。这里的anyDirectory需要跟上面--prefix时候设置的保持一致哈!

vim ~/.bashrc
source ~/.bashrc

如果有什么问题可以留言,如果我知道的会继续补充。以上是验证可行的

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
下面是一个简单的示例,演示如何使用 CMake、find_package、install 和 CPack 工具来构建、打包和安装一个简单的 C++ 应用程序。 假设我们有一个名为 "hello" 的 C++ 应用程序,它依赖于 Boost 库和 OpenSSL 库。我们的目标是在 Linux 系统上构建、打包和安装这个应用程序。 1. 安装 Boost 和 OpenSSL 库: ``` sudo apt-get install libboost-all-dev libssl-dev ``` 2. 创建一个名为 CMakeLists.txt 的文件,描述构建过程: ``` cmake_minimum_required(VERSION 3.10) project(hello) # 查找 Boost 库 find_package(Boost REQUIRED COMPONENTS system) # 查找 OpenSSL 库 find_package(OpenSSL REQUIRED) # 添加可执行文件 add_executable(hello main.cpp) # 链接 Boost 和 OpenSSL 库 target_link_libraries(hello Boost::system OpenSSL::SSL OpenSSL::Crypto) # 安装可执行文件到 /usr/local/bin 目录下 install(TARGETS hello DESTINATION /usr/local/bin) # 使用 CPack 工具生成 DEB 软件包 set(CPACK_GENERATOR "DEB") set(CPACK_PACKAGE_NAME "hello") set(CPACK_PACKAGE_VERSION "1.0") set(CPACK_PACKAGE_DESCRIPTION "A simple hello world program") include(CPack) ``` 3. 创建一个名为 main.cpp 的文件,作为应用程序的源代码: ``` #include <iostream> #include <boost/asio.hpp> #include <openssl/ssl.h> int main() { std::cout << "Hello, world!" << std::endl; std::cout << "Boost version: " << BOOST_LIB_VERSION << std::endl; std::cout << "OpenSSL version: " << SSLeay_version(SSLEAY_VERSION) << std::endl; return 0; } ``` 4. 在项目根目录下创建一个名为 build 的文件夹,并进入该文件夹: ``` mkdir build cd build ``` 5. 运行 CMake 命令来生成构建文件: ``` cmake .. ``` 6. 运行 make 命令来构建应用程序: ``` make ``` 7. 运行 make install 命令来安装应用程序: ``` sudo make install ``` 8. 运行 CPack 命令来生成软件包: ``` cpack ``` 9. 在 build 目录下可以找到生成的软件包,例如 hello-1.0-Linux.deb。 这样,我们就成功地使用 CMake、find_package、install 和 CPack 工具来构建、打包和安装一个简单的 C++ 应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值