首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对函数的引用未定义。使用ROS构建pigpio时出现链接错误

对函数的引用未定义。使用ROS构建pigpio时出现链接错误
EN

Stack Overflow用户
提问于 2019-08-03 00:46:24
回答 1查看 432关注 0票数 0

我无法将pigpiod_if2与catkin一起使用,因为我在构建时不断收到链接错误,如下所示

代码语言:javascript
复制
CMakeFiles/delete_me_node.dir/main.cpp.o: In function `main':
main.cpp:(.text+0x104): undefined reference to `pigpio_start'
main.cpp:(.text+0x114): undefined reference to `pigpio_start'
main.cpp:(.text+0x2d2): undefined reference to `pigpio_stop'
main.cpp:(.text+0x2dc): undefined reference to `pigpio_stop'
collect2: error: ld returned 1 exit status

下面是我用来识别问题的代码。

代码语言:javascript
复制
#include <iostream>
#include <ros/ros.h>
#include <pigpiod_if2.h>
#include <std_msgs/String.h>
int main(int argc, char* argv[])
{
    ros::init(argc, argv, "delete_me");
    ros::NodeHandle n;
    ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
    ros::Rate loop_rate(10);
    int pi = pigpio_start(0, 0);
    int pi1 = pigpio_start(0, 0);
    int count = 0;
    while (ros::ok())
    {
        std_msgs::String msg;
        std::stringstream ss;
        ss << "hello world "<< pi1 << count;
        msg.data = ss.str();
        ROS_INFO("%s", msg.data.c_str());
        chatter_pub.publish(msg);
        ros::spinOnce();
        loop_rate.sleep();
        ++count;
    }
    pigpio_stop(pi);
    pigpio_stop(pi1);
    return 0;
}

下面是我的CMakeLists.txt文件

代码语言:javascript
复制
cmake_minimum_required(VERSION 2.8.3)
project(delete_me)

set(CMAKE_CXX_FLAGS "-Wall -lpthread -lpigpiod_if2"  ${CMAKE_CXX_FLAGS})

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  CATKIN_DEPENDS roscpp std_msgs
)
add_executable(${PROJECT_NAME}_node main.cpp)

target_link_libraries(${PROJECT_NAME}_node
   ${catkin_LIBRARIES}
 )

我对我的cmake文件做了什么更正来修复这个错误?

EN

回答 1

Stack Overflow用户

发布于 2020-07-24 09:35:39

您可以尝试使用this link

代码语言:javascript
复制
add ${pigpio_INCLUDE_DIR} to "include_directories()"

add ${pigpio_LIBRARY} ${pigpiod_if_LIBRARY} ${pigpiod_if2_LIBRARY} to "target_link_libraries"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57330621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档