私はcatkinでsymbolicC++ツールボックスを使用しようとしています。私は構造を持っている大きなプロジェクトを :ros catkinのsymbolicC++ビルドエラー
//main2.cpp
#include "someheader.h"
int main(){
Symbol a;
Symbolicclass b(a);
b.func();
}
//someheader.h
#ifndef SOMEHEADER_H
#define SOMEHEADER_H
#include "symbolicclass.h"
#endif
//symbolicclass.h
#ifndef SYMBOLICCLASSHEADER_H
#define SYMBOLICCLASSHEADER_H
#include "symbolicc++.h"
using namespace std;
class Symbolicclass{
Symbolic value;
public:
void func();
Symbolicclass(Symbolic _value){value=_value;};
};
#endif
//symbolicclass.cpp
#include "symbolicclass.h"
void Symbolicclass::func(){ printf("whatever"); };
全体尾状花パッケージは、ここで見つけることができます: https://www.dropbox.com/s/4khoagm3uhsbs31/symbolic.zip?dl=0 その34MB、それはsymbolicC++ライブラリを含んでいるよう。
SymbolicC++ライブラリに複数の定義エラーがありますか?例:
/home/Projects/SymbolicPlatform/Catkin/src/symbolic/thirdparty/SymbolicC++3-3.35/headers/symbolic/functions.h:1105: multiple definition of `Kronecker::Kronecker(Kronecker const&)'
CMakeFiles/symbolic_node.dir/src/main.cpp.o:/home/Projects/SymbolicPlatform/Catkin/src/symbolic/thirdparty/SymbolicC++3-3.35/headers/symbolic/functions.h:1105: first defined here
CMakeFiles/symbolic_node.dir/src/symbolic_agent.cpp.o: In function `Kronecker::Kronecker(Symbolic const&, Symbolic const&)':
/home/Projects/SymbolicPlatform/Catkin/src/symbolic/thirdparty/SymbolicC++3-3.35/headers/symbolic/functions.h:1107: multiple definition of `Kronecker::Kronecker(Symbolic const&, Symbolic const&)'
CMakeFiles/symbolic_node.dir/src/main.cpp.o:/home/Projects/SymbolicPlatform/Catkin/src/symbolic/thirdparty/SymbolicC++3-3.35/headers/symbolic/functions.h:1107: first defined here
など CMakeListsでの唯一の違いは次のとおりです。
add_executable(symbolic_node src/main1.cpp) //WORKING FOR SIMPLE EXAMPLE
add_executable(symbolic_node src/main2.cpp src/symbolicclass.cpp)//CRAZY ERRORS
あなたが問題になる可能性があるものを任意のアイデアを持っていますか? 私には複数定義のエラーが出るのは意味がありませんが、#include "symbolicC++。h"を一度使用していますか? 私はこのエラーがCMakeListsにあると思います。 私はsymbolicC++ライブラリをビルドしてプロジェクトに追加します。 ご協力いただきありがとうございます!
答えを適用しましたか?あなたがしなかったように見える!お互いに沿って2つのcppで動作しません! – Vtik