2

SymbolicC++ ライブラリを既存のソリューションに統合しようとしています。私の仕様は次のとおりです。Windows 7 OS 上の Visual Studio 2010 RTM。

今私の問題:

関数をシンブリック変数と統合したいソリューションが既にあります。以前に統合された別のライブラリ (OMPL "Open Motion Planning Library) があります。symbolicc++.h をインクルードしようとすると、次のエラーによってソリューションのコンパイルに失敗します。

エラー 10 エラー C2825: '_Fty': '::' c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28` が続く場合、クラスまたは名前空間でなければなりません

エラー 11 エラー C2903: 'result': シンボルはクラス テンプレートでも関数テンプレートでもありません c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28

エラー 12 エラー C2039: '結果': '`グローバル名前空間'' のメンバーではありません c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28

エラー 13 エラー C2143: 構文エラー: ';' がありません 前 '<' c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28

エラー 14 エラー C2039: 'type' : '`グローバル名前空間'' のメンバーではありません c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28

エラー 15 エラー C2238: ';' の前に予期しないトークンがあります c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 28

エラー 16 エラー C2039: '_Type' : 'std::tr1::_Result_type2<__formal,_Fty,_Arg0,_Arg1>' のメンバーではありません c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ xx結果 40

エラー 17 エラー C2146: 構文エラー: ';' がありません 識別子 '_Type' の前 c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 40

エラー 18 エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 40 をサポートしていません。

エラー 19 エラー C2602: 'std::tr1::_Result_of2<_Fty,_Farg0,_Farg1>::_Type' は 'std::tr1::_Result_of2<_Fty,_Farg0,_Farg1>' の基底クラスのメンバーではありません c :\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 40

エラー 20 エラー C2868: 'std::tr1::_Result_of2<_Fty,_Farg0,_Farg1>::_Type': using-declaration の構文が正しくありません。予想される修飾名 c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxresult 40

エラー 21 エラー C2678: バイナリ '==' : 型 'std::tr1::_Bind_fty<_Fty,_Ret,_BindN>' の左側のオペランドを取る演算子が見つかりません (または、受け入れ可能な変換がありません) D:\ Software\RobotKitV3.0\SensorPluginMotionPlanner\Zusatz\ompl_4_RK\RK_ServerSensor_ompl\RK_ServerSensor_ompl\ServerSensor_ompl.cpp 2587

2 つのライブラリの間に何らかの問題があることは確かです。しかし、私はそれを正しく機能させていません。これから変更すると、1 行 (エラー 21 と呼ばれます) があります。

if(bind(serverSocket, (sockaddr*) &addressServer, sizeof(addressServer)) == SOCKET_ERROR)

これに:

if(::bind(serverSocket, (sockaddr*) &addressServer, sizeof(addressServer)) == SOCKET_ERROR)

これらのエラーはもうありません。しかし、.exe を起動しようとすると、次のエラーで失敗します。

アプリケーションを正しく起動できませんでした (0xc000007b)。[OK] をクリックしてアプリケーションを閉じます

行を除外しない限り:

#include <symbolicc++.h>

誰かがこの仕事を手に入れるためのアイデアを持っていますか? 5 日から symbolicc++.h を実装しようとしていて、ソリューションを実行できないのはとてもイライラします。

編集:

それで、私はいくつかの進歩を遂げました。以下のコード以外をすべてコメントアウトすると、エラーはなくなります。

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <winsock.h>
#include <fstream>
#include <iostream>
#include <string>
#include <WinBase.h>

#include "..\..\SymbolicC++\include\symbolicc++.h"

#include "ServerSensor_ompl.h"

#include <ompl/base/SpaceInformation.h>
#include <ompl/base/spaces/SE3StateSpace.h>
#include <ompl/base/spaces/SE2StateSpace.h>
#include <ompl/base/spaces/SO2StateSpace.h>
#include <ompl/geometric/planners/rrt/RRTConnect.h>
#include <ompl/geometric/SimpleSetup.h>
#include <ompl/config.h>
#include <ompl/geometric/planners/rrt/RRT.h>
#include <ompl/geometric/planners/rrt/RRTConnect.h>
#include <ompl/geometric/planners/rrt/RRTStar.h>

Symbolic Test("Test");

namespace ob = ompl::base;
namespace og = ompl::geometric;

namespace ob_Con_WP = ompl::base;
namespace og_Con_WP = ompl::geometric;

namespace ob_Con_RC = ompl::base;       // Robot_Cell
namespace og_Con_RC = ompl::geometric;  // Robot_Cell

WSADATA wsa;
struct sockaddr_in addressServer;
int commSocket, serverSocket;

bool RK_active = true;

int m_bufferLength = 0;
int m_bufferLength2 = 0;

const size_t BufferSize = 100000;
char m_buffer[BufferSize];
char m_buffer2[BufferSize];

int Trial_Cart = 0;
int Trial_Joint = 0;
int Trial_Constraint_WP = 0;
int Trial_Constraint_RC = 0;
int Trial_General = 0;

bool Have_Exact_Solution;
std::fstream f;

int countCalls = 0;
int countCallLimit = 1000;

double Constraint_Bounds[2][6];

ob::StateSpacePtr space_Joint(new ob::RealVectorStateSpace(6));
ob::StateSpacePtr space_Cart(new ob::SE3StateSpace);

ob_Con_WP::StateSpacePtr space_Constraint_WP(new ob_Con_WP::RealVectorStateSpace(6));

ob_Con_RC::StateSpacePtr space_Constraint_RC(new ob_Con_RC::RealVectorStateSpace(6));
ob_Con_RC::SpaceInformationPtr si(new ob_Con_RC::SpaceInformation(space_Constraint_RC));

int _tmain(int argc, _TCHAR* argv[])
{   
    std::cout << "OMPL version: " << OMPL_VERSION << std::endl;
    std::cout << std::endl << std::endl;
    system("pause");
}

しかし、たとえば、以下の行をコードに挿入しようとすると、実行しようとすると同じエラー (0xc000007B) が発生します。

og::SimpleSetup ss_Cart(space_Cart);
4

0 に答える 0