20140331 HOG代码调试 Boost库安装

时间:2023-03-09 20:39:09
20140331 HOG代码调试  Boost库安装

1、CUDAHOG代码调试

  • 错误1:

20140331 HOG代码调试  Boost库安装

错误提示:(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的区别)

20140331 HOG代码调试  Boost库安装

2、boost库的安装

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

http://blog.****.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;
}