解决编译过程中gflags未定义的问题

解决编译过程中gflags未定义的问题:

一、若/usr/local/lib存在 libgflags.so libgflags.so.2.2 libgflags.so.2.2.1 libgflags.so.2.2.2文件,则需执行

sudo mv libgflags.so libgflags.so.2.2 libgflags.so.2.2.1 libgflags.so.2.2.2 /usr/local

到https://github.com/gflags/gflags/blob/master/INSTALL.md 下载gflags-master.zip

三、解压gflags-master.zip文件到home下

  1. cd gflags-master
  2. mkdir build && cd build  
  3. cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON ..
  4. make
  5. sudo make install

在CMakelists文件中添加  find_package(gflags REQUIRED),如图所示

五、重新catkin_make  

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gflags.h 是一个在 Windows 编程使用的头文件,它提供了一些宏定义和函数声明,用于设置和获取应用程序的全局标志值。这些标志值可以在运行时进行修改,以便调整程序的行为。 在 Windows 上编译使用 gflags.h 头文件的步骤如下: 第一步,首先需要将 gflags.h 头文件包含在程序的源代码,可以使用以下方式包含: ```c++ #include <gflags/gflags.h> ``` 第二步,安装 gflags 库。在 Windows 上,可以通过从官方网站下载源代码并使用 CMake 构建来进行安装。 第三步,确保在编译器的 include 路径添加了 gflags.h 头文件的路径。可以在程序的项目设置添加相应路径,或者使用 `-I` 编译选项将该路径传递给编译器。 第四步,编写使用 gflags.h 的代码。在代码,可以使用 `DEFINE_XXX` 宏来定义全局标志,例如: ```c++ DEFINE_bool(verbose, false, "Enable verbose mode"); DEFINE_int32(num_threads, 4, "Number of threads"); DEFINE_string(input_file, "", "Input file path"); ``` 这样就可以定义了三个全局标志,分别是 `verbose`,`num_threads` 和 `input_file`。第一个参数是标志的名称,第二个参数是标志的默认值,第三个参数是标志的描述信息。 第五步,使用 `FLAGS_XXX` 变量来获取和设置标志的值。例如,可以通过 `FLAGS_verbose`、`FLAGS_num_threads` 和 `FLAGS_input_file` 分别获取和设置对应标志的值。 编译程序时,需要链接 gflags 库。可以在编译命令使用 `-l` 选项来链接该库,例如: ```shell g++ -o myapp myapp.cpp -lgflags ``` 这样就可以完成使用 gflags.h 在 Windows 上的编译了。 需要注意的是,以上步骤只是一个基本的示例,具体的编译过程可能会因为不同的开发环境和项目设置而有所不同。参考相应的文档或者使用示例代码来进行更详细的设置和编译

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值