【问题标题】:Linker Error: Unresolved external (C++ Builder 6.0)链接器错误:未解决的外部(C++ Builder 6.0)
【发布时间】:2014-03-02 01:47:42
【问题描述】:

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

[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();

  }
}

【问题讨论】:

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


    【解决方案1】:

    C++Builder 6 随 Indy 8 一起提供。TIdMultipartFormDataStream 是在 Indy 9 中引入的。您的代码完全编译的事实意味着您的项目正在使用 Indy 9 或 Indy 10 头文件,但该项目可能有一个参考旧的 Indy 8 包而不是 nwer Indy 9/10 包。如果您已升级到 Indy 9 或更高版本,请确保您已从 BCB6 安装中彻底清除 Indy 8,并确保您的项目包含对该版本 Indy 的正确 Indy 包的引用。

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 2020-04-30
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多