C ++:CkSpider.h给出了链接器错误

时间:2014-04-22 01:43:43

标签: c++ gcc web-crawler linker-errors

我正在尝试用c ++制作一个网络爬虫。我在我的代码中使用CkSpider.h但是它给出了liker错误 -

  

[链接错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0×14):   未定义引用CkSpider::CkSpider()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x1f): undefined reference to CkStringArray :: CkStringArray()' [链接   错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x2a):   未定义引用CkStringArray::CkStringArray()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x3d): undefined reference to CkStringArray :: put_Unique(bool)' [链接   错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+为0x50):   未定义引用CkStringArray::put_Unique(bool)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x63): undefined reference to CkStringArray :: Append(char const *)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ x79的):   未定义引用CkSpider::AddAvoidOutboundLinkPattern(char const*)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x8f): undefined reference to CkSpider :: AddAvoidOutboundLinkPattern(char   常量*)' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+的0xA5):   未定义引用CkSpider::AddAvoidOutboundLinkPattern(char const*)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0xbb): undefined reference to CkSpider :: AddAvoidOutboundLinkPattern(char   常量*)' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0xd1):   未定义引用CkSpider::AddAvoidOutboundLinkPattern(char const*)' more undefined references to CkSpider :: AddAvoidOutboundLinkPattern(char const *)'遵循
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0xfd):   未定义引用CkSpider::put_CacheDir(char const*)'
[Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x113): undefined reference to
CkSpider :: put_FetchFromCache(bool)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x129):   未定义引用CkSpider::put_UpdateCache(bool)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x139): undefined reference to CkStringArray :: pop()' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x151):   未定义引用CkSpider::Initialize(char const*)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x166): undefined reference to CkSpider :: getUrlDomain(char const *)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x17e):   未定义引用CkSpider::getBaseDomain(char const*)'
[Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x18d): undefined reference to
CkStringArray :: Append(char const *)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x1a4):   未定义引用CkSpider::CrawlNext()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x1bf): undefined reference to CkSpider :: lastUrl()' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x1d5):   未定义引用CkSpider::get_LastFromCache()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x1f2): undefined reference to CkSpider :: SleepMs(long)' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x224):   未定义引用CkSpider::getOutboundLink(long)' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x23c): undefined reference to CkSpider :: getUrlDomain(char const *)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x254):   未定义引用CkSpider::getBaseDomain(char const*)'
[Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x269): undefined reference to
CkStringArray :: Contains(char const *)'
  [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x282):   未定义引用CkStringArray::Append(char const*)'
[Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x28d): undefined reference to
CkStringArray :: get_Count()' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x2aa):   未定义引用CkSpider::get_NumOutboundLinks()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x2c7): undefined reference to CkStringArray :: get_Count()' [链接器错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x2df):   未定义引用CkStringArray::~CkStringArray()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x2ea): undefined reference to CkStringArray ::〜CkStringArray()' [链接   错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+为0x2f8):   未定义引用CkSpider::~CkSpider()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x30e): undefined reference to CkStringArray ::〜CkStringArray()' [链接   错误]   C:\ Users \用户阿米特\应用程序数据\本地的\ Temp \ ccQ5VFW0.o:webcrawler.cpp :(文字+ 0x31d):   未定义引用CkStringArray::~CkStringArray()' [Linker error] C:\Users\amit\AppData\Local\Temp\ccQ5VFW0.o:webcrawler.cpp:(.text+0x32f): undefined reference to CkSpider ::〜CkSpider()'在功能main': [Linker error] C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to WinMain @ 16' ld返回1退出状态

Ckspider库Ckspider.h

的Git链接

我的代码 -

#include<windows.h>
#include <CkSpider.h>
#include<stdio.h>
#include<iostream>

#include <CkStringArray.h>

using namespace std;

void ChilkatSample(void)
    {

    CkSpider spider;

    CkStringArray seenDomains;
    CkStringArray seedUrls;

    seenDomains.put_Unique(true);
    seedUrls.put_Unique(true);


    seedUrls.Append("http://www.techxxx.org/");


    spider.AddAvoidOutboundLinkPattern("*?id=*");
    spider.AddAvoidOutboundLinkPattern("*.mypages.*");
    spider.AddAvoidOutboundLinkPattern("*.personal.*");
    spider.AddAvoidOutboundLinkPattern("*.comcast.*");
    spider.AddAvoidOutboundLinkPattern("*.aol.*");
    spider.AddAvoidOutboundLinkPattern("*~*");


    spider.put_CacheDir("c:/spiderCache/");
    spider.put_FetchFromCache(true);
    spider.put_UpdateCache(true);

    while (seedUrls.get_Count() > 0) {

        const char * url;
        url = seedUrls.pop();
        spider.Initialize(url);

        const char * domain;
        domain = spider.getUrlDomain(url);
        seenDomains.Append(spider.getBaseDomain(domain));

        long i;
        bool success;
        for (i = 0; i <= 4; i++) {
            success = spider.CrawlNext();
            if (success != true) {
                break;
            }

            printf("%s\n",spider.lastUrl());


            if (spider.get_LastFromCache() != true) {
                spider.SleepMs(1000);
            }

        }

        for (i = 0; i <= spider.get_NumOutboundLinks() - 1; i++) {

            url = spider.getOutboundLink(i);

            domain = spider.getUrlDomain(url);
            const char * baseDomain;
            baseDomain = spider.getBaseDomain(domain);
            if (!seenDomains.Contains(baseDomain)) {
                seedUrls.Append(url);
            }

            if (seedUrls.get_Count() > 1000) {
                break;
            }

        }

    }

}

帮助。

0 个答案:

没有答案