簡體   English   中英

如何在cpp文件ROS中查找標頭路徑

[英]How to find a header path in a cpp file ROS

我正在學習如何在ROS中編程。 對我來說,第一個困難是頭文件。 我想閱讀原始代碼,但問題是它們在哪里? 如何找到這些頭文件?

我已經在當前路徑中嘗試了gcc -H xx.cpp ,但是它只是顯示了一些不相關的答案。 例如,我對ros.h而不是字符串感到好奇。 對於ros.h,它告訴我

fatal error: ros/ros.h: No such file or directory compilation terminated. 

我現在不知道

dale@dale-Aspire-EC-471G:~/Compile/src/learningros/chapter8_tutorials/src$ gcc -H tf_broadcaster.cpp 
tf_broadcaster.cpp:1:21: fatal error: ros/ros.h: No such file or directory
compilation terminated.

dale@dale-Aspire-EC-471G:~/Compile/src/learningros/chapter8_tutorials/src$ gcc -H odometry.cpp 
. /usr/include/c++/5/string
.. /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h
... /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h
.... /usr/include/features.h
..... /usr/include/x86_64-linux-gnu/sys/cdefs.h
...... /usr/include/x86_64-linux-gnu/bits/wordsize.h
..... /usr/include/x86_64-linux-gnu/gnu/stubs.h
...... /usr/include/x86_64-linux-gnu/gnu/stubs-64.h
..............
........ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h
........ /usr/include/x86_64-linux-gnu/bits/time.h
......... /usr/include/x86_64-linux-gnu/bits/timex.h
....... /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
........ /usr/include/x86_64-linux-gnu/bits/wordsize.h
....... /usr/include/x86_64-linux-gnu/bits/setjmp.h
........ /usr/include/x86_64-linux-gnu/bits/wordsize.h
....... /usr/include/x86_64-linux-gnu/bits/wordsize.h
.... /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h
... /usr/include/c++/5/ext/alloc_traits.h
.. /usr/include/c++/5/bits/basic_string.tcc
odometry.cpp:2:21: fatal error: ros/ros.h: No such file or directory
compilation terminated.

我希望找到一種有效的方法來查找我想知道的cpp文件中的標頭。 希望您能提供幫助或給我一些建議。

命令gcc -H odometry.cpp將列出gcc正在搜索頭文件的所有路徑。 由於前一條命令給出了一個錯誤消息,即找不到該標頭,因此該列表將不包含該位置,否則,前ros/ros.h命令將找到ros/ros.h而不產生該錯誤。

這些頭文件在標准ROS安裝中的位置為:

/opt/ros/<distribution_name>/include

如果已運行安裝腳本source /opt/ros/<distribution_name>/setup.bash或將其包含在.bashrc腳本中, source /opt/ros/<distribution_name>/setup.bash自動為您設置這些頭文件的路徑。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM