【问题标题】:Unresolved externals when using Synapse (internet access) on C++Builder XE5在 C++Builder XE5 上使用 Synapse(互联网访问)时未解决的外部问题
【发布时间】:2014-03-13 21:33:26
【问题描述】:

在我的新 C++Builder XE5 上链接 (Ararat) Synapse 库时遇到了一些问题。 在此之前,我使用 C++Builder XE2,一切正常。 现在我用 C++Builder XE5 创建了一个新项目,并在简单的按钮单击事件处理程序方法上添加了一些代码。 代码:

Unit1.h

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
//---------------------------------------------------------------------------
#include <blcksock.hpp>
#include <httpsend.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TMemo *Memo1;
    TButton *Button1;
    void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};

Unit1.cpp

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    THTTPSend *client = new THTTPSend();
}

现在我收到 2 个链接错误:

Unresolved external 'Httpsend::THTTPSend::' referenced from ...\UNIT1.OBJ
Unresolved external '__fastcall Httpsend::THTTPSend::THTTPSend()' referenced from ...\UNIT1.OBJ

在项目选项中,我包含了一个包含 Synapse 文件的目录

如何解决这个错误???

这是我正在使用的 Synapse 源的链接:http://filetonet.com/AAA124f20433ab06682a1443633d799fa5bhttp://yadi.sk/d/UKJKR2hoHtD9q

【问题讨论】:

    标签: c++ linker c++builder synapse c++builder-xe5


    【解决方案1】:

    仅仅将项目指向 Synapse 的目录是不够的。您必须将 Synapse 库/源文件实际添加到您的项目中。

    【讨论】:

    • 我也试过这个,但没有任何改变。 (如果我错了,请给我实现正确链接的实际步骤)
    【解决方案2】:

    经过一番麻烦后,我将一些必需的 .pas 文件添加到我的项目中,然后将修改后的 synsock.hpp 放入项目目录和一行 #include "synsock.hpp",然后再包含 blcksock.hpp 和 httpsend.hpp。现在一切都很好,但这太糟糕了......

    【讨论】:

      猜你喜欢
      • 2011-02-13
      • 2012-12-24
      • 1970-01-01
      • 2011-10-21
      • 2013-02-24
      • 1970-01-01
      • 2021-04-23
      • 2017-03-06
      • 1970-01-01
      相关资源
      最近更新 更多