Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置

492 篇文章 ¥129.90 ¥299.90




一. Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]

最近在进行Linux应用软件的一些编译和安装工作。因为对Linux源码编译软件,包安装,依赖解决等流程一直都不是很熟悉,所以想借此机会梳理一下有关知识点。在以往的工作中遇到问题,要么就是通过yum命令直接安装软件包,要么就是按网上的教程无脑执行指令,大概率也能解决问题。

首先需要了解清楚Linux的目录结构,目录设计都是有一定规范的,编译,安装,更新,解决依赖,读取动态库等都会遵循这些目录,因此熟悉掌握Linux目录对工作中编译安装软件,环境配置,或者解决各种找不到文件,找不到依赖等问题,会非常有帮助。

【 / 】

安装tree命令,执行tree -L 1 /
以下是根目录[ / ]下的结构 + 每个目录的解释

在这里插入图片描述

根目录[ / ]下的不常用的目录功能只需要大概了解一下就行,不需要熟记

重要目录一定要记得功能和了解

重要的目录有:etc lib lib64 root bin sbin usr var<

<think> 我们讨论的是如何在QT项目中配置libiec61850库。用户想知道如何获取QT项目配置中INCLUDEPATH和LIBS所涉及的库(即libiec61850库)。以下步骤将指导用户获取并安装该库,以便在QT项目中正确配置。 ### 步骤1:获取libiec61850源代码 可以通过以下两种方式之一获取源代码: #### 方式1:从GitHub仓库克隆(推荐) ```bash # 克隆仓库 git clone https://github.com/mz-automation/libiec61850.git # 切换到稳定版本(例如v1.6) cd libiec61850 git checkout v1.6 ``` #### 方式2:下载源代码包 访问[libiec61850发布页面](https://github.com/mz-automation/libiec61850/releases),下载所需版本的源代码压缩包(如`libiec61850-1.6.0.tar.gz`),然后解压: ```bash tar -xvf libiec61850-1.6.0.tar.gz cd libiec61850-1.6.0 ``` ### 步骤2:编译安装库 #### 在Linux/macOS上编译 1. **创建构建目录配置**: ```bash mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_EXAMPLES=ON .. ``` 注意: - `-DCMAKE_INSTALL_PREFIX=/usr/local`:指定安装路径,这样头文件会被安装到`/usr/local/include`,库文件到`/usr/local/lib`。 - 如需其他配置选项,参考[官方文档](https://libiec61850.com/libiec61850/documentation/build_instructions/)。 2. **编译并安装**: ```bash make sudo make install ``` #### 在Windows上编译(使用MinGW或MSVC) 1. **使用CMake GUI生成项目**: - 设置源代码路径和构建路径。 - 点击“Configure”,选择你的编译器(如MinGW或Visual Studio)。 - 设置`CMAKE_INSTALL_PREFIX`(例如`C:\libiec61850`)。 - 点击“Generate”生成项目。 2. **编译并安装**: - 打开生成的解决方案(.sln)或MinGW Makefile。 - 编译`INSTALL`目标(在Visual Studio中)或执行: ```bash mingw32-make install ``` - 安装后,库文件将位于`C:\libiec61850\lib`,头文件位于`C:\libiec61850\include`。 ### 步骤3:配置QT项目 根据安装路径调整`.pro`文件: #### Linux/macOS(默认安装到`/usr/local`): ```qmake INCLUDEPATH += /usr/local/include LIBS += -L/usr/local/lib -liec61850 ``` #### Windows(自定义安装路径): ```qmake # 假设安装到 C:\libiec61850 INCLUDEPATH += C:/libiec61850/include LIBS += -LC:/libiec61850/lib -liec61850 ``` ### 验证安装 检查以下目录是否存在库文件: - Linux/macOS: `/usr/local/lib/libiec61850.so`(或`.a`静态库- Windows: `C:\libiec61850\lib\libiec61850.dll`(或`.lib`) ### 常见问题解决 1. **找不到库文件**: - 确保安装路径正确,并在`.pro`文件中正确设置`LIBS`路径。 - Linux下可能需要运行`sudo ldconfig`更新动态库缓存。 2. **链接错误**: - 检查库文件名:Linux下通常为`libiec61850.so`,Windows下为`libiec61850.dll`(运行时)和`libiec61850.lib`(链接时)。 3. **头文件缺失**: - 确认`/usr/local/include`(或自定义路径)下存在`iec61850.h`等头文件。 ### 替代方案:使用包管理器安装 部分Linux发行版提供预编译包,例如Ubuntu: ```bash sudo apt-get install libiec61850-dev ``` 此时配置简化为: ```qmake LIBS += -liec61850 ``` --- §§相关问题§§ 1. 如何在Windows上使用Visual Studio编译libiec61850? 2. 如何解决QT项目中动态库加载失败的问题? 3. 如何为libiec61850启用SSL/TLS支持? [^1]: libiec61850官方构建指南提供了详细编译说明 </think> 要获取 QT 项目中配置`INCLUDEPATH += /usr/local/include`和`LIBS += -L/usr/local/lib -liec61850`所需的库文件,需要编译安装 libiec61850 库。以下是详细步骤: ### 一、获取 libiec61850 库 #### 方法 1:从源码编译安装(推荐) ```bash # 1. 克隆仓库(使用稳定版本) git clone https://github.com/mz-automation/libiec61850.git cd libiec61850 git checkout v1.6 # 选择稳定版本 # 2. 创建构建目录 mkdir build cd build # 3. 配置编译选项(关键步骤) cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local \ # 指定安装路径 -DBUILD_EXAMPLES=ON \ # 启用示例 -DBUILD_PYTHON_BINDINGS=OFF # 关闭非必要组件 # 4. 编译并安装 make -j$(nproc) sudo make install # 需要管理员权限 ``` #### 方法 2:使用包管理器(Linux) ```bash # Ubuntu/Debian sudo apt-get install libiec61850-dev # CentOS/RHEL sudo yum install libiec61850-devel ``` ### 二、验证安装结果 检查文件是否生成到正确位置: ```bash # 验证头文件 ls /usr/local/include/iec61850_*.h # 验证库文件 ls /usr/local/lib/libiec61850.* # 应看到 .so .a 或 .dylib 文件 ``` ### 三、QT 项目配置 在 `.pro` 文件中添加: ```qmake # 包含路径 INCLUDEPATH += /usr/local/include # 链接库(根据系统自动选择) unix:!macx { LIBS += -L/usr/local/lib -liec61850 } macx { LIBS += -L/usr/local/lib -liec61850 -lm } win32 { # Windows需指定完整路径 LIBS += "C:/libiec61850/lib/libiec61850.lib" } ``` ### 四、平台差异处理 1. **Windows 特殊配置**: - 使用 MinGW 或 MSVC 编译时需额外指定: ```bash cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=C:/libiec61850 ``` - 安装后手动添加环境变量 `PATH=C:\libiec61850\bin` 2. **macOS 注意事项**: ```bash # 解决动态库路径问题 install_name_tool -add_rpath /usr/local/lib yourapp.app/Contents/MacOS/yourapp ``` ### 五、编译问题排查 1. **找不到库**: ```bash # 检查链接器路径 sudo ldconfig /usr/local/lib ``` 2. **版本冲突**: ```bash # 移除旧版本 sudo rm /usr/local/lib/libiec61850.* make clean && make ``` 3. **权限问题**: ```bash # 修复安装目录权限 sudo chown -R $(whoami) /usr/local/include /usr/local/lib ``` > **关键提示**:编译时务必保持`CMAKE_INSTALL_PREFIX`与QT配置路径一致[^1]。若使用非默认路径,需在QT项目中同步修改`INCLUDEPATH`和`LIBS`指向自定义路径。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值