20140331 HOG代码调试 Boost库安装

1、CUDAHOG代码调试

  • 错误1:

image

错误提示:(main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cudaHOG::cudaHOGManager::cudaHOGManager(void)" (??0cudaHOGManager@cudaHOG@@QAE@XZ),该符号在函数 __catch$_main$0 中被引用)

产生原因:

  • main函数中已经加入了头文件,所以编译时不会报错。
  • 关键是没有加入库文件cudaHOG.lib
  • 前两点就导致了在链接时无法找到cudaHOG.h中各种函数的具体实现,编译器就会报错“无法解析的外部符号”;
  • 解决方案:在链接器->输入->附加依赖项中,加入cudaHOG.lib
  • 错误2若没有包含头文件cudaHOG.h出现的错误提示如下:(注意和错误1的区别)

image

2、boost库的安装

http://blog.csdn.net/gubenpeiyuan/article/details/8509812(主要参照)

http://blog.csdn.net/zengraoli/article/details/8870446

3、螺旋队列

自己编写的思路:把向上向下向左向右的情况都考虑在内

#include<stdio.h>
#define X 2
#define Y -2
int  main()
{
    int x=0,y=0;
    int value=1;
    if(X==0&&Y==0)
    {
        printf("对应的数字是: 0");
        return 0;
    }
    x++;
    value++;
    while(1)
    {
        if((x>=0&&y<0&&(0>=x+y))||(x<0&&y<0&&(y<=x)))//向右
        {    x++; value++;
            if((x==X )&&(y==Y))
                break;
        }
        if((x>0&&y<=0&&(x+y>0))||(x>0&&y>0&&(x>y)))//向下
        {    y++; value++;
            if((x==X )&&(y==Y))
            break;
        }
        if((x>=0&&y>0&&(x<=y))||(x<0&&y>0&&(x+y>0)))//向左
        {    x--; value++;
            if((x==X )&&(y==Y))
                break;
        }
        if((x<0&&y>=0&&(y+x<=0))||(x<0&&y<0&&(y>x)))//向上
        {    y--; value++;
            if((x==X )&&(y==Y))
            break;
        } 
    }
    printf("对应的数字是: %d",value);
    return value;    
}
posted @ 2014-03-31 16:27  yexuannan  阅读(385)  评论(0编辑  收藏  举报