Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ApOkAlizE

#11
También en el linker he añadido C:\OpenCV2.0\lib pero continua con el mismo error...
#12
Estoy intentando poder capturar imágenes con la webcam, he cogido este código que se supone que funciona.

#include "highgui.h"

int main(int argc, char* argv[])
{
  cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
  CvCapture* capture = cvCreateCameraCapture(0);
  IplImage* frame;
  while(1){
    frame = cvQueryFrame( capture );
    if( !frame ) break;
    cvShowImage( "Example2", frame );
    char c = cvWaitKey(33);
    if( c == 27 ) break;
  }
  cvReleaseCapture( &capture );
  cvDestroyWindow( "Example2" );
}

He instalado la versión 2.0 de openCV siguiendo este manual http://www.taringa.net/posts/hazlo-tu-mismo/11406486/Configurar-openCV-2_0-para-CodeBlocks-en-Windows.html
Pues bien, cuando compilo recibo el siguiente error.
FILE                        LINE               Message
ld.exe                                           cannot find -lmsvcrtd.lib

No se de dónde viene, lógicamente he intentado poner msvcrtd.lib en "linker settings", pero nada...
¿Alguien me puede ayudar?
Muchas gracias de antemano.
#13
Aquí dejo el trozo de codigo correspondiente als sockets.
Y he linkeado al proyecto:
libwsock32.a
libws2_32.a
libwxmsw28u.a


SERVIDOR:

#define _WIN32_WINNT 0x501
#include "windows.h"
#include "winsock2.h"
#include "ws2tcpip.h"
#pragma comment(lib, "ws2_32.lib")



int main()
{
WSAData wsa;
        WORD Versio = MAKEWORD(2,1);
         WSAStartup(Versio, &wsa);
      SOCKET Escoltar = socket(AF_INET ,SOCK_STREAM , NULL);
      SOCKET Connectar = socket(AF_INET ,SOCK_STREAM , NULL);
      SOCKADDR_IN Servidor;
      Servidor.sin_addr.s_addr = inet_addr( "192.168.1.13" );
      Servidor.sin_family = AF_INET;
      Servidor.sin_port = htons(800);
      Tornemi:
        int Connectat;
        Connectat = 0;
      bind(Escoltar, (SOCKADDR*)&Servidor, sizeof(Servidor));
      listen(Escoltar, 10);
      int Tamany = sizeof(Servidor);
      while(true)
      {

         if(Connectar = accept(Escoltar,(SOCKADDR*)&Servidor,&Tamany))
         {
             if(WSAStartup(Versio, &wsa)==NO_ERROR)
                  {
             while(true)
             {


         long reb;
         long env;
         //char *rebre = new char(10002);
         char rebre[100];
         memset(rebre,0,99);
               int i = 2000;
               setsockopt(Connectar,SOL_SOCKET,SO_RCVTIMEO,(const char *)&i,sizeof(i));
            reb = recv(Connectar, rebre,sizeof(rebre) ,0);
            if(reb == -1)
            {
                                       //salta el codigo siempre aquí
                system("pause");
            }
                env = send( Connectar, "M5V", 4, NULL );
                if(strcmp(rebre,"MD5")==0)
                {
                    system("pause");
                }
            if(strlen(rebre) > 2)
            {
               // system("pause");
            }
            if(strlen(rebre) < 2)
            {
                Connectat++;
                if (Connectat == 5)
                {
                SD.Estat(0);
                goto Tornemi;
                }
            }
            if(reb == 0)
            {
                SD.Estat(0);
                goto Tornemi;
            }
            else
            {
                    SD.Estat(1);
            }
                    char *Obtingut;
                    Obtingut = SD.Llegir();

             if(strlen(Obtingut) > 0)
             {
                 //SD.Estat(1);
             send( Connectar, Obtingut, strlen(Obtingut), 0 );
             SD.Esborrar();
             }
             else
             {
              send(Connectar, "M5V",4 ,NULL);
             }
            if(strcmp(rebre,"M5V")==0)
            {
                SD.Estat(1);
                system("pause");
                    memset(rebre,0,10000);
               Connectat = 0;
            }
            else
            {
                send( Connectar, "M5V", 4, 0 );
                if(strcmp(rebre,"M5V")==1 && strcmp(rebre,"")==1)
                {

                }
            }

             }
         }
         }
      }
      return 0x0;



}


CLIENTE:

#define _WIN32_WINNT 0x501
#include <windows.h>
#include <winsock2.h>
#pragma comment( lib, "ws2_32.lib" )
#include "ws2tcpip.h"

WSAData wsa;
   WORD Versio = MAKEWORD(2,1);
   WSAStartup(Versio, &wsa);
   SOCKADDR_IN Client;
   Client.sin_addr.s_addr = inet_addr("192.168.1.13");
   Client.sin_family = AF_INET;
   Client.sin_port = htons(800);
   SOCKET Connectar;
    int Connectat;
        Connectat = 0;
        while(true)
   {
   Connectar = socket(AF_INET, SOCK_STREAM, NULL);
      if(connect(Connectar,(SOCKADDR*) &Client, sizeof(Client)))
      {
         while(true)
         {
         long reb;
         long env;
         char rebre[100];
         memset(rebre,0,100);
               int i = 2000;
               setsockopt(Connectar,SOL_SOCKET,SO_RCVTIMEO,(const char *)&i,sizeof(i));
            reb = recv(Connectar, rebre,sizeof(rebre) ,0);
              env = send(Connectar, "M5V",4 ,NULL);
                if(reb == -1)
            {
                system("pause");
            }
            if(strlen(rebre) < 1)
            {
                //system("pause");
                Connectat++;
                if (Connectat == 5)
                {
                    //system("pause");
                    Connectat = 0;
                        break;
                }
            }
            if(strcmp(rebre,"M5V")==0)
            {
                system("pause");
                send(Connectar, "M5V",4 ,NULL);
                memset(rebre,0,10001);
                Connectat = 0;
            }
         }
      }

    }
      return 0x0;
}
#14
oPen sYlar he provado con strerror y devuelve la cadena de "result too large"...
#15
Programación C/C++ / ¿Ayuda con sockets C++?
7 Octubre 2012, 02:36 AM
Bueno lo que me sucede es que estoy haciendo una programa usando C++ en CODE::BLOCKS, pues bueno, ya hice hace medio año uno tamién en C++ pero usando visual studio 2010 y ese funcionava, pero comparo el codigo con el que estoy haciendo ahora y esta todo igual, todo y eso en el siguiente codigo:
long reb;
char rebre[10001];
memset(rebre,0,10001);
int i = 2000;
setsockopt(Connectar,SOL_SOCKET,SO_RCVTIMEO,(const char *)&i,sizeof(i));
reb = recv(Connectar, rebre,10001 ,0);
if(reb == -1)
{
     //MENSAJE DE ALERTA
}
pues para ser exactos ni siquiera espera los 2 segundos para recibir datos y siempre entra en el if de -1 o sea error... pero la conexion se abre y realmente por ejemplo los send si que se envian(lo he comprovado por telnet)... ¿Alguien tiene alguna idea de que puede estar pasando?
Gracias de antemano.
#16
Bueno yo creo que esto de concentración lo dicen quizás porque tu mente se acostumbra a la pantalla y luego delante de por ejemplo una situación diferente como por ejemplo una conversación de voz cara a cara o en un examen puedes desconcentrarte con más facilidad, y lo de problemas emocionales quizás lo dicen porque si hablas con los amigos por ejemplo solo por internet quizás no tienes tanta necesidad de verlos en persona porque ya os lo contais todo por internet y eso puede suponer la perdida de amigos y por tanto daños emocionales y a parte que al estar todo el dia haciendo una unica actividad emocionalmente puede influir así como hace la concentración. Supongo que se refieren a eso, ahora bien, yo me paso cada dia una brutalidad de horas delante del PC y no me a parecido notar estos sintomas al contrario en internet me siento más en contacto con la gente, me hace sentir más seguridad en mi mismo, que no estoy solo y me hace ver la capacidad ilimitada de adquirir conocimientos gracias a la información que hay en internet.
Así pues no creo que no tengan razón esta gente, pero en cierta medida, pues ellos creo que estan hablando de un tanto por ciento pequeño del total de adictos a internet.
#17
Es normal, yo cuando escribo en el teclado sin mirarlo si quiero escribir una palabra la escribo pero con las manos s me dicen que dibuje en un papel las teclas de un teclado hare varios errores que al escribir con al mano no hago.
#18
dimitrix supongo que el hecho de tener tantos vídeos y imagenes es porque deberia descargar algun archivo comprimido donde habria una carpeta con ya un montón de vídeos y imagenes, por ejemplo buscas fotos de morenazas en redes p2p o google y te sale para descargar y cuando descomprimes la carpeta te vienen quizás más de 10000 fotos de chicas, por poner un ejemplo. Quizás me equivoco no se...

Ya esta bien que lo metan en  la cárcel, porque esto de violar a una persona (sea mayor de edad o menor da igual) es de ser muy egoísta...
#19
Okey!
Suerte!
#20
Pues eso mismo me digo yo... lo podrian haber corregido, pero bueno en esta situación como es tan fácil como poner un getchar() almenos no genera problemas mayores.