перенос кода с gcc на компилер мvc++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by realcoder, 29 Jan 2012.

  1. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    вот решил пределать прожект на вс++, но возникли проблемы
    при компиляции проэкта возникают ошибки:
    код:
    PHP:
    #include  <windows.h>
    #include <iostream>
    #include <string>
    using namespace std;

    void comm_work(char *msgchar *uinchar *resp)
    {
         
    string *comm=new string();
         
    comm->assign(msg);//ïðåîáðàçóåì êîìàíäó â òèïà string
         
    string *comand=new string();
         *
    comand=comm->substr(0,comm->find("|"));//âûäåëÿåì ãëàâíóþ êîìàíäó
         
    int count=0;
         
    char *splits= new char[10];//ïîçèöèè ðàçäåëèòåëåé
         
    memset(splits,0,10);
         for(
    int i=0;i<comm->length(); i++ )
         { 
    //çàíîñèì ðàçäåëèòåëè â ìàññèâ
         
                  
    if(comm->c_str()[i]=='|')  {
                                             
    splits[count]=i;
                                             
    count++;
                                             }
         }
         
    string *params[10]={ new string() };//ïààðàìåòðû
         
    for(int j=0;j<count;j++)//ïàðñèíã ïàðàìåòðîâ
         
    {
         if(
    splits[j]<comm->length()){
         
    params[j]=new string();
         *
    params[j]=comm->substr(splits[j]+1,splits[j+1]-splits[j]-1);
         }  
         }
         
    /*âûïîëíåíèå êîìàíä*/
         
    if(lstrcmp(comand->c_str(),"sysinfo")==0)//èíôî î ñèñòåìå
         
    {
            
    /*if(lstrcmp(params[0]->c_str(),"devpath")==0)//devicepath
            {
               char *shabl="resp|sysinfo|devpath|%s";
               char *devpath=new char[MAX_PATH];
               readDevicePath(devpath);
               wsprintf(resp,shabl,devpath);
            }
            if(lstrcmp(params[0]->c_str(),"regown")==0)//registered owner
            {
               char *shabl="resp|sysinfo|regowner|%s";
               char *devpath=new char[MAX_PATH];
               readRegisteredOwner(devpath);
               wsprintf(resp,shabl,devpath);
            }*/
         
    }
    }
    msvcrt.lib в импорт добавил. открыл pe-редактором экзешник, скомпиленый в gcc - там только msvcrt.dll в импорте и нектороые виндовские библиотеки. что сделать чтоб нормально слинковалось?
    компилю в vc++ 6 , чтоб везде работало
     
    #1 realcoder, 29 Jan 2012
    Last edited: 29 Jan 2012