В вашем .h файле.Объявите это:
#ifndef CLASS_TORRENT_H
#define CLASS_TORRENT_H
#include "libtorrent.h" // I'm guessing this is the header file that declares the "fingerprint" class
extern libtorrent::fingerprint a;
class TorrentClass
{
public:
TorrentClass();
// your class declaration goes here
};
#endif
В вашем файле .cpp (.cc).Определите объекты:
#include "ClassTorrent.h" // the header file described above
libtorrent::fingerprint a("LT", LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR, 0, 0);
TorrentClass::TorrentClass()
{
// your constructor code goes here.
}
Кроме того, в моей команде мы явно запрещаем "глобальные объекты", такие как экземпляр "a", который вы объявили.Причина в том, что конструктор работает до «main» (в недетерминированном порядке со всеми другими глобальными объектами).И его деструктор не запускается до тех пор, пока не завершатся основные выходы.
Если вам действительно нужно глобальное «a», создайте его в качестве указателя и выделите его с новым:
libtorrent::fingerprint *g_pFingerPrintA;
int main()
{
g_pFingerPrintA = new libtorrent::fingerprint("LT", LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR, 0, 0);
// program code goes here
// shutdown
delete g_pFingerPrintA;
}