链接器错误:未解析的外部(C ++ Builder 6.0)

时间:2014-03-02 01:47:43

标签: c++builder indy c++builder-6

我在C ++ Builder 6中有一个例程,它通过HTTP Post将文件发送到Web服务器,编译时项目显示来自Linker的这些错误消息:

[Linker Error] Unresolved external"__fastcall Idmultipartformdata::TIdMultipartFormDataStream()" referenced from C:\Users\Admin\Documents\ProjCB6\Unit1.obj.

然后;我怎么做才能解决这个问题?提前谢谢!

此处留下使用的源代码=>

void HTTP()
{

      TStringStream  *response=new  TStringStream("");
      TIdMultiPartFormDataStream *stream=new TIdMultiPartFormDataStream(); 
      TIdHTTP  *IdHTTP1 = new TIdHTTP(NULL); 

  try 
  { 

        IdHTTP1->Request->ContentType=stream->RequestContentType; 
        stream->AddFormField("file1","doc");
        stream->AddFile("file1","c:\\3.doc","doc"); 
        stream->Position = 0;
        IdHTTP1->Post("http://172.16.8.186/doc/up.php",stream,response);
        Memo1->Lines->LoadFromStream(response);
        response->Free();
        stream->Free();
        IdHTTP1->Free();


  } 
  catch(...) 
  { 
         response->Free();
        stream->Free();
        IdHTTP1->Free();

  }
}

1 个答案:

答案 0 :(得分:1)

Indy 8附带了C ++ Builder 6. {Indin 9中引入了TIdMultipartFormDataStream。您的代码完全编译的事实意味着您的项目使用的是Indy 9或Indy 10头文件,但项目可能会提到旧的Indy 8包而不是nwer Indy 9/10包。如果已升级到Indy 9或更高版本,请确保已完全从BCB6安装中清除Indy 8,并确保您的项目包含对该版本Indy的正确Indy软件包的引用。