title: error: ____ was not declared in this scope
body: <p>When i try to compile my publishJoints code i keep getting errors saying out of scope.</p>
  
  <p>here is the publishJoints.cpp code</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;ros/ros.h&gt;
  #include &lt;sensor_msgs/JointState.h&gt;
  #include &lt;vector&gt;
  #include &lt;stdio.h&gt;
  #include "GestureFile.h"
  #define DOF 19
  #define DIR_mt4      1
  #define DIR_ma14     1
  #define DIR_ma12     1
  #define COUNT_DEG   2222    //encoder count per deg
  
  
  enum parts
  {
      m3joint_mt4_j0,
      m3joint_mt4_j1,
      m3joint_slave_mt4_j2,
      left_shoulder_pan_joint,
      left_shoulder_lift_joint,
      left_elbow_pan_joint,
      left_elbow_lift_joint,             
      m3joint_ma14_j4,
      m3joint_ma14_j5,
      m3joint_ma14_j6,
      right_shoulder_pan_joint,
      right_shoulder_lift_joint,
      right_elbow_pan_joint,
      right_elbow_lift_joint,
      m3joint_ma12_j4,
      m3joint_ma12_j5,
      m3joint_ma12_j6,
      Neck_Casing,
      Head_Casing,
  
  };
  
  int main(int argc, char** argv) {
      ros::init(argc, argv, "publishJoints");
      ros::NodeHandle n;
      ros::Publisher joint_pub = n.advertise&lt;sensor_msgs::JointState&gt;("joint_states", 100);
      ros::Rate loop_rate(100000);
  
      const double degree = M_PI/180;
  
      // robot state
      double swivel=0;
      double tilt=0;
  
  
      // message declarations
      sensor_msgs::JointState joint_state;
  
     joint_state.name.resize(19);
     joint_state.position.resize(19);
  
  
  
  
      while (ros::ok()) {
          //update joint_state
          joint_state.header.stamp = ros::Time::now();
  
          swivel=0;
          joint_state.name[0] ="m3joint_mt4_j0";
          joint_state.position[0] = swivel;
  
          joint_state.name[1] ="m3joint_mt4_j1";
          joint_state.position[1] = swivel;
  
          joint_state.name[2] ="m3joint_slave_mt4_j2";
          joint_state.position[2] = tilt;
  
          joint_state.name[3] ="left_shoulder_pan_joint";
          joint_state.position[3] = tilt;
  
          joint_state.name[4] ="left_shoulder_lift_joint";
          joint_state.position[4] = tilt;
  
          joint_state.name[5] ="left_elbow_pan_joint";
          joint_state.position[5] = tilt;
  
          joint_state.name[6] ="left_elbow_lift_joint";
          joint_state.position[6] = tilt;
  
          joint_state.name[7] ="m3joint_ma14_j4";
          joint_state.position[7] = swivel;
  
          joint_state.name[8] ="m3joint_ma14_j5";
          joint_state.position[8] = swivel;
  
          joint_state.name[9] ="m3joint_ma14_j6";
          joint_state.position[9] = swivel;
  
          joint_state.name[10] ="right_shoulder_pan_joint";
          joint_state.position[10] = swivel;
  
          joint_state.name[11] ="right_shoulder_lift_joint";
          joint_state.position[11] = swivel;
  
          joint_state.name[12] ="right_elbow_pan_joint";
          joint_state.position[12] = swivel;
  
          joint_state.name[13] ="right_elbow_lift_joint";
          joint_state.position[13] = swivel;
  
          joint_state.name[14] ="m3joint_ma12_j4";
          joint_state.position[14] = tilt;
  
          joint_state.name[15] ="m3joint_ma12_j5";
          joint_state.position[15] = tilt;
  
          joint_state.name[16] ="m3joint_ma12_j6" ;
          joint_state.position[16] = tilt;
  
          joint_state.name[17] ="Neck_Casing" ;
          joint_state.position[17] = tilt;
  
          joint_state.name[18] ="Head_Casing" ;
          joint_state.position[18] = tilt;
  
  
      tilt += 0.000001;
  
  
          //send the joint state and transform
          joint_pub.publish(joint_state);
  
          // This will adjust as needed per iteration
          loop_rate.sleep();
      }
  
  
  
  
      return 0;
  }
  
  int readDynamicGestureFile(points_body_t gesture[][10000], int *numOfCoords)
  {
      int number=0;
      char buff[500];
      double position[DOF]={0};
      int time;
      FILE* ifp=NULL;
  
      //there is only one file to read
      memset(&amp;buff,0,sizeof(buff));
  
      if ( fopen_s(&amp;ifp, "C://share/Motion.csv","r") != 0 )
      {
          AfxMessageBox( "Cannot open Motion File that was sent");
          return 0;
      }
  
      do {
              fgets(buff,500,ifp);
  
              int result = sscanf_s(buff, "%d %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf  %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf %*c %lf",
                  &amp;time,
                  &amp;position[0],   //m3joint_mt4_j0
                  &amp;position[1],   //m3joint_mt4_j1
                  &amp;position[2],   //m3joint_slave_mt4_j2
                  &amp;position[3],   //left_shoulder_pan_joint
                  &amp;position[4],   //left_shoulder_lift_joint
  
                  &amp;position[5],   //left_elbow_pan_joint
                  &amp;position[6], //left_elbow_lift_joint             
                  &amp;position[7],   //m3joint_ma14_j4
                  &amp;position[8],   //m3joint_ma14_j5
                  &amp;position[9],   //m3joint_ma14_j6
                  &amp;position[10], //right_shoulder_pan_joint
                  &amp;position[11], //right_shoulder_lift_joint
  
                  &amp;position[12],  //right_elbow_pan_joint
                  &amp;position[13],  //right_elbow_lift_joint
                  &amp;position[14],  //m3joint_ma12_j4
                  &amp;position[15],  //m3joint_ma12_j5
                  &amp;position[16],  //m3joint_ma12_j6
                  &amp;position[17],  //Neck_Casing
                  &amp;position[18]   //Head_Casing
  
              );  
  
              //*********************//
              //  Conversion Matrix  //
              //*********************//
  
              gesture[0][number].m3joint_mt4_j0   = (int)( 0 );
              //gesture[0][number].ptorso_1   = (int)( DIR_T1 * -position[1] );
              gesture[0][number].m3joint_mt4_j1   = (int)( 0 );
  
              /////////////////////////////////////////////////////////////////////////       
              gesture[0][number].m3joint_slave_mt4_j2     = (int)( DIR_mt4 * COUNT_DEG * (-position[2]) );
              gesture[0][number].left_shoulder_pan_joint  = (int)( DIR_ma14 * COUNT_DEG * -position[3] );
              gesture[0][number].left_shoulder_lift_joint     = (int)( DIR_ma14 * COUNT_DEG * position[4] );
  
              ////////////////////////////////////////////////////////////////
              gesture[0][number].left_elbow_pan_joint   = (int)(  DIR_ma14 * COUNT_DEG * (position[5] + 90 ) );
              gesture[0][number].left_elbow_lift_joint  = (int)(  DIR_ma14 * COUNT_DEG * position[6] );
              gesture[0][number].m3joint_ma14_j4        = (int)(  DIR_ma14 * COUNT_DEG * ( -position[7] -90) );
  
              gesture[0][number].m3joint_ma14_j5              = (int)( COUNT_DEG * -position[8] );
              gesture[0][number].m3joint_ma14_j6              = (int)( COUNT_DEG * -position[9] );
              gesture[0][number].right_shoulder_pan_joint         = (int)( COUNT_DEG * -position[10] );
              //gesture[0][number].right_shoulder_lift_joint = (int)( COUNT_DEG * position[11] );
  
              ///////////////////////////////////////////////////////////////////
              gesture[0][number].right_elbow_pan_joint      = (int)(  COUNT_DEG * ( -position[12] - 90 ) );
              gesture[0][number].right_elbow_lift_joint     = (int)(  COUNT_DEG * position[13] );
              //gesture[0][number].pR_upper_2 = (int)( COUNT_DEG * ( 90-position[R_upper_2] ) );
              gesture[0][number].m3joint_ma12_j4            = (int)(  COUNT_DEG * ( -position[14] + 90 ) );
  
              gesture[0][number].m3joint_ma12_j5= (int)( COUNT_DEG * -position[15] );
              gesture[0][number].m3joint_ma12_j6= (int)( COUNT_DEG * -position[16] );
              gesture[0][number].Neck_Casing = (int)( COUNT_DEG * -position[17] );
              gesture[0][number].Head_Casing = (int)( COUNT_DEG * position[18] );
  
              number++;
  
          } while(!feof(ifp));
  
      numOfCoords[0] = number;
      fclose(ifp);
  
      return 1;
  
  }
  </code></pre>
  
  <p>following are the error messages when i compile.</p>
  
  <p>error: ‘fopen_s’ was not declared in this scope</p>
  
  <p>error: ‘AfxMessageBox’ was not declared in this scope</p>
  
  <p>error: ‘sscanf_s’ was not declared in this scope</p>
  
  <p>anyhelp would be greatly appreciated.</p>