問題タブ [catkin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ros - Cmakelists.txt での未定義の参照
私のプロジェクトでは、ROSでxbee 外部ライブラリを使用したいと考えています。もともとexeファイルを作るときはmakefileを使っています。しかし、ROS は catkin を使用するため、exe ファイルを作成する必要があります。
しかし、私は同じエラーで立ち往生しています。Cmakelists.txt
undefined reference ..
私のプロジェクトのディレクトリ構造は次のようになります。
元のmakefileはこんな感じだったので、 my_project/CmakeLists.txt を以下のように書きました。
しかし、でコマンドを実行するとcatkin_make
、エラーが発生しました
CMakeFiles/main.dir/src/main.cpp.o: 関数
main': main.cpp:(.text+0x177): undefined reference to
xbee_dev_dump_settings の collect2: エラー: ld が 1 つの終了ステータスを返しました
しかし、xbee_dev_dump_settings
です。エラーではないので、ヘッダーでうまくいったと思います。xbee_ansic_library/include/xbee/device.h
xbee_ansic_library/src/xbee/xbee_device.c
undefined reference ..
not declared ..
次に何をしなければなりませんか?
android - ネイティブ ROS をビルドするためにツールチェーンを交換 (更新) する方法
gcc 4.9 で Android 用のネイティブ (Indigo) ROS パッケージをビルドしようとしています。このリンクの手順に従っていました(gcc 4.6 を使用)。
そのため、config.sh で gcc_version=4.9 に変更しました。次に、CMake 変数 ANDROID_TOOLCHAIN_NAME をリストされたツールチェーンの 1 つに設定するメッセージを受け取りました。しかし、arm-linux-androideabi-4.9 はリストされていませんでした (Dockerfile が Android NDK r8e をインストールしているように見えるためだと思いますが、含まれていない可能性があります)。 ROS ツリー) NDK (crystax)。次に、Dockerfile の Android NDK インストール セクションを削除しようとし、ANDROID_NDK を外部 NDK に設定しましたが、役に立ちませんでした。
ツールチェーンを交換して Android 用にビルドするためのより明白な方法がありませんか?
アップデート:
Dockerfile からこれらの (wget と tar) 行をコメントアウトし、シェルで ANDROID_NDK を Crystax NDK に設定しました (これも Dockerfile 内で試しました)。
roscpp_android/docker/Dockerfile ...
git - github で ROS/catkin を使用する最良の方法
ROS を使い始めたばかりで、自分のファイルを github に保存したいと考えています。残念ながら、catkin は非常に複雑なファイル システムを作成します。
自分で書いたコードを github で管理するにはどうすればよいですか。それは catkin ワークスペースに完全に隠されているため、完全なワークスペースを追加したくないからです。
どのくらいアップロードすればよいですか?自分のコードだけ?Makefileも?私はインターネット上で多くを見つけることができませんでした。
cuda - CUDA ROS CMake nvcc 致命的
catkin build を実行しようとすると、一般的なエラーが発生します。
または、フォルダー自体にビルドしようとすると:
matrix.cu ファイルが機能することは知っています。彼らが作成した CUDA チュートリアルから引き出しましたが、別のプロジェクトに配置しても問題なく動作します。私の主な理論は、私の他のパッケージの 1 つとなんらかの競合があるというものです。または、私の CMakeLists.txt がどこか間違っているのかもしれません。私はかなりの数の変更と修正を試みました。これは現在のバージョンです:
他のパッケージの 1 つがビルドを壊している可能性はありますか?
cmake - gperftools パス変数 GPERFTOOLS_LIBRARIES GPERFTOOLS_INCLUDE_DIR を設定するには?
catkin プロジェクトでは、catkin_make が失敗します。CMakeLists には次のものが含まれます
google-perftools をインストールしました:
CMake エラーは、gperftools、または少なくともパス変数が見つからないことを示しています。
数時間検索した後、セットアップの説明が見つかりませんでした。誰かがこのエラーを解決する方法を説明してもらえますか?
事前に感謝します。この問題について十分な情報を提供していただければ幸いです。
乾杯、マイケル
opencv - opencv を catkin_workspace に含めるにはどうすればよいですか?
現在find_package(opencv)
、次のエラー メッセージが表示されるという問題が発生しています。
だから..ええ、解決策はprefix_pathを追加しますfind_package()
が、探す必要があるパスを明示的に指定せずにどのように機能させるのですか..なぜ最初にそれを見つけることができないのですか?これを行うことによる問題はCMakelistがグループ内で共有されていること.cmakeファイルが同じ場所にあるにもかかわらず、この問題を抱えているのは私だけです..
ubuntuマシンで実行しています。
OpenCV v2.4.8
.cmake ファイルは次の場所にあります。
/usr/local/share/OpenCV/OpenCVConfig.cmake /usr/share/OpenCV/OpenCVConfig.cmake
opencvは次のようにインストールされますsudo apt-get install libopencv-dev
c++ - catkin_make は私のパッケージをコンパイルしません..しかし
catkin_make
現在、catkin_workspaceの場合、パッケージがヘッダーをコンパイルしないという問題があります。
しかし、私catkin_make --only-pkg-with-deps packakge
はうまくいきますか?
では、残りから独立してコンパイルするだけでコンパイルできるのに、すべてをコンパイルするとヘッダーファイルが見つからないのはなぜですか?
これはツリー構造です:
コンパイルできないヘッダーは、インクルード内のものです。pugixml.cpp は pugixml.hpp を見つけることができません..
として収録されています。#include <pkg_a/pugixml.hpp>
CMakeList:
c++ - ros launch を使用してディレクトリを作成し、そのパスを別のノードに渡します
実行時 (roslaunch を呼び出すとき) に、既知のディレクトリに新しいサブディレクトリを作成し、そのパスを rosparam として 2 つの異なるノードに渡したいと考えています。
.launch ファイルを編集してこれを行うにはどうすればよいですか?
たとえば、フォルダがあります~/datacapture
。roslaunch を使用するときはいつでも、現在の時刻 (つまり ) に基づいてサブディレクトリを作成し、~/datacacpture/20161129_1352/
それを rosparams を使用していくつかのノードに渡したいと考えています。
私がやりたいことをさらに説明するために、roslaunch ファイルの例を次に示します。
私がそれをどのように見せたいかは次のとおりです: