将SymbolicC ++实施到现有解决方案中的错误

时间:2015-07-20 12:36:58

标签: c++ visual-studio-2010 windows-7 symbolicc++

我正在尝试将SymbolicC ++库集成到现有的解决方案中。我的规范如下:Windows 7操作系统上的Visual Studio 2010 RTM。

现在我的问题:

我已经有了一个解决方案,我希望将函数与symblic变量集成。还有另一个以前集成的库(OMPL“开放运动规划库”。)如果我尝试包含symbolicc ++。它无法通过这些错误编译解决方案:

  

错误10错误C2825:'_ Fty':后跟'::'c:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ xxresult 28`

后必须是类或命名空间      

错误11错误C2903:'结果':符号既不是类模板也不是函数模板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':不是'`global namespace''的成员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 \ xxresult 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

我很确定这两个库之间存在一些问题。但我没有让它正常工作。 当我从中更改它时,有一行(称为错误21):

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

对此:

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

我不再有这些错误了!但是,当我尝试启动.exe时,它失败了 有这个错误:

  

应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序

除非我排除该行:

#include <symbolicc++.h>

有人有想法让这项工作成功吗?令人沮丧的是,我试图实施symbolicc ++。h 5天以来无法执行我的解决方案。

编辑:

所以我取得了一些进展。如果我只是注释掉除了下面这段代码之外的所有内容,那么就不会再出现错误了。

#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);

0 个答案:

没有答案