20140331 HOG代码调试 Boost库安装
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.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; }