Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 柳絮(u make won)x27 ;;我不能编译我的软件包,但是_C++_Ros_Pugixml_Catkin - Fatal编程技术网

C++ 柳絮(u make won)x27 ;;我不能编译我的软件包,但是

C++ 柳絮(u make won)x27 ;;我不能编译我的软件包,但是,c++,ros,pugixml,catkin,C++,Ros,Pugixml,Catkin,如果我catkin\u make我的catkin\u工作区,我的包当前有问题,无法编译标题 但是如果我用柳絮做的话——只有带deps-packakge的pkg能正常工作吗 那么,为什么我能够编译,如果只编译一个独立于其他的,但当我编译所有的东西时,它将找不到头文件 这是树结构: pkg_a/ ├── CMakeLists.txt ├── include │   └── pkg_a │   ├── pugiconfig.hpp │   └──

如果我
catkin\u make
我的catkin\u工作区,我的包当前有问题,无法编译标题

但是如果我用柳絮做的话——只有带deps-packakge的pkg能正常工作吗

那么,为什么我能够编译,如果只编译一个独立于其他的,但当我编译所有的东西时,它将找不到头文件

这是树结构:

pkg_a/
    ├── CMakeLists.txt
    ├── include
    │   └── pkg_a
    │       ├── pugiconfig.hpp
    │       └── pugixml.hpp
    ├── package.xml
    ├── src
        ├── src.cpp
        ├── header_to_src.h
        ├── node.cpp
        ├── pugixml.cpp
        ├── src_2.cpp
        └── header_to_src_2.h
我无法编译的头是include中的头。 pugixml.cpp找不到pugixml.hpp

它将作为
#include

CMakeList:

cmake_minimum_required(VERSION 2.8.3)
project(pkg_a)

#Compiler flags
add_definitions(-std=c++1y)
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  genmsg
  message_generation
  depend_1
  depend_2
)


catkin_package(
   INCLUDE_DIRS include
   LIBRARIES ${PROJECT_NAME}
   CATKIN_DEPENDS
   DEPENDS system_lib

)

include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)

## Mark cpp header files for installation
 install(DIRECTORY include/${PROJECT_NAME}/
   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
   FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
   PATTERN ".svn" EXCLUDE
 )

## Mark other files for installation (e.g. launch and bag files, etc.)
 install(
     DIRECTORY include/${PROJECT_NAME}/
#   # myfile1
#   # myfile2
   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
 )

SET(SRC_FILES
        ${SRC_FILES}
        ${CMAKE_CURRENT_SOURCE_DIR}/src/src.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/src/src_2.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/src/pugixml.cpp
#       ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
        CACHE INTERNAL ""
)

add_library(${PROJECT_NAME} ${SRC_FILES})

add_executable(run_${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src/node.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/pugixml.cpp)
add_dependencies( ${PROJECT_NAME} depend_1_generate_messages_cpp depend_2_generate_message_cpp )
target_link_libraries(run_${PROJECT_NAME}
    ${PROJECT_NAME}
    ${catkin_LIBRARIES}
)

哪个标题?它们是ros消息/服务头还是通用头?是包含在内的头。pugixml.cpp找不到pugixml.hpp能否同时显示两个CmakeList?最好是分析一下……哦。。只有一个。。另一个是自动保存。。但有一刻,我似乎发现了错误。它在编译另一个包时正在寻找.hpp,出于某种原因,另一个包依赖于pka_a,这毫无意义。它们只共享由depend_1和depend_2创建的服务消息,但另一个包无论如何都不使用pugixml。我在其他依赖项列表中添加了pkg_a,解决了这个问题。哪个标题?它们是ros消息/服务头还是通用头?是包含在内的头。pugixml.cpp找不到pugixml.hpp能否同时显示两个CmakeList?最好是分析一下……哦。。只有一个。。另一个是自动保存。。但有一刻,我似乎发现了错误。它在编译另一个包时正在寻找.hpp,出于某种原因,另一个包依赖于pka_a,这毫无意义。它们只共享由depend_1和depend_2创建的服务消息,但另一个包无论如何都不使用pugixml。我在其他依赖项列表中添加了pkg_a,解决了这个问题。