1、CUDAHOG代码调试
错误1:
错误提示:(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的区别)
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;
}