项目主页

http://cudpp.github.io/

根据这个网址的提示进行

https://github.com/cudpp/cudpp/wiki/BuildingCUDPPwithCMake

我的环境:win7 x64+vs2013

编译

首先是下载cmake

下载地址

http://www.cmake.org/download/

我是通过cmake-gui方式来编译的

The cmake gui can be used to interactively configure and generate CUDPP build files. Just run cmake-gui, then set the path to the CUDPP source tree in the field "Where is the source code", and set the path to where you want the build files generated in "Where to build the binaries".

Then press "Configure". You will see a list of options you can set. Click "Advanced" to see advanced options. Click "grouped" to logically group them.

Once you have set the necessary options (see below), click "Generate" to generate makefiles.

Go to the directory you set in "Where to build the binaries", and run make (`*`nix), or open the cudpp.sln (Windows).

遇到的问题

2.2的版本会遇到问题,如下:

提示少文件mgpuutil.cpp

解决方案如下:

从主页找到红框的地方

终于看到曙光了,在官网下载的压缩包里,解压后会发现,对应额这两个文件夹时空的,没有东西,在这里也是两个链接,你需要进去把它下载下来,然后挡在对应的位置上

打包下载下来

也打包下载下来

到此,所需文件全了!!!

记得按照我说的方式,放在对应的文件夹下。

放好的效果如下:

用Cmake再编译,很容易通过,没任何问题。

在你甚至的生成目录中找到cudpp.sln

最后打开就是这个效果

在Cmake的时候记住够下图的选项,生成的结果就是上图这样

或者这个效果

具体什么效果,要看你在Cmake的时候具体选项!

选项入下:

Useful options to set:

  • CMAKE_BUILD_TYPE: set to Debug for debug builds, Release (or blank) for release builds. Not needed on Windows.
  • BUILD_APPLICATIONS: set to on to build the CUDPP example applications and testrig in addition to CUDPP libraries.(这个选项是同时编译cudpp这个库里面的例子,选上比较好)
  • BUILD_SHARED_LIBS: set to on to build dynamic/shared CUDPP libraries, off to build static libraries
  • CUDA_VERBOSE_BUILD: Print out commands run while compiling CUDA source files
  • CUDA_VERBOSE_PTXAS: Print out the output of --ptxas-options=-verbose, which displays details of shared memory, registers, and constants used by CUDA device kernels.

最后

On Windows, rather than running make, you just open the generated cudpp.sln in your source directory.

这个时候,需要用VS的编译器来编译下了

在解决方案里,右键ALL_BUILD,选择生成,估计要等一阵子,看部电影吧……

然后INSTALL右键,选择生成,继续看电影吧……

完了就可以用了。

根据你设置的install目录,生成如下的文件:

到此该生成的文件已经生成完毕了!

具体如何使用呢?

把simpleCUDPP设置为启动项

到这里,我的例子跑出来了,具体什么含义,回头再搞,吃饭去了……

cudpp库的编译和使用的更多相关文章

  1. Proj.4库的编译及使用

    Proj.4库的编译及使用 Proj.4是开源GIS最著名的地图投影库,GRASS GIS, MapServer, PostGIS, Thuban, OGDI, Mapnik, TopoCad, GD ...

  2. (2)RGB-D SLAM系列- 工具篇(依赖库及编译)

    做了个SLAM的小视频,有兴趣的朋友可以看下 https://youtu.be/z5wDzMZF10Q 1)Library depended 一个完整的SLAM系统包括,数据流获取,数据读取,特征提取 ...

  3. Linux动态库的编译与使用 转载

    http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Linux下 ...

  4. Windows下zlib库和libPng库的编译和使用

    关于zlib库和libpng是干嘛的,我就不说了,度娘和谷歌都能告诉你.这里主要记录下windows下如何利用vs2010编译和使用这两个库. 一.zlib库的编译 首先要下载这个库,这个谷歌和百度也 ...

  5. Linux动态库的编译与使用

    转载: http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Li ...

  6. 【UWP】FFmpeg库的编译

    本文是关于windows8.1/windows10通用应用下编译ffmpeg的一些需要注意的地方,针对最新的msys2而写,都是我在实际操作中遇到的,但是网上没有提到的.如果大家遇到什么问题或是在之前 ...

  7. vs2008中xlslib与libxls库的编译及使用

    C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...

  8. Linux上静态库和动态库的编译和使用

    linux上静态库和动态库的编译和使用(附外部符号错误浅谈) 这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只 ...

  9. linux上静态库和动态库的编译和使用(附外部符号错误浅谈)

    主要参考博客gcc创建和使用静态库和动态库 对于熟悉windows的同学,linux上的静态库.a相当于win的.lib,动态库.so相当于win的.dll. 首先简要地解释下这两种函数库的区别,参考 ...

随机推荐

  1. robotFramework接口测试GET和POST请求

    安装: 接口测试需要安装Request和RequestLibrary 包 使用cmd命令安装:pip install requests 使用cmd命令安装:pip install -U robotfr ...

  2. va_list arg_list va_start(arg_list, format) va_end( arg_list ) 原理的理解

    void log( int log_level, const char* file_name, int line_num, const char* format, ... ) { .......... ...

  3. Python APIs

    NDArray API Python API速查

  4. Mybatis学习笔记2 - 解析config

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  5. S3C2440 中断相关寄存器小探

    ========================================== 转载时请注明出处和作者联系方式 文章出处:http://blog.csdn.net/longintchar 作者联 ...

  6. Python四大神兽(迭代器&生成器&闭包&装饰器)

    一.迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不 ...

  7. php删除服务器所有session踢掉所有在线用户linux

    注意:如果要删除服务器上所有session,重启php服务是解决不了问题的,php的session是持久化的. 有效解决办法: 删除 /tmp 下的所有文件(默认php的session文件是在/tmp ...

  8. hystrix应用介绍(二)

    上篇博客中讲了hystrix在公司中的一些应用场景,由于保密的原因没办法贴出优化的代码,这里专门写一篇hystrix代码的demo,供大家在使用的过程中快速上手 Hystrix有两个请求命令 Hyst ...

  9. Chrome浏览器正常,IE下界面却乱了

    背景:项目实战中总会遇到一些小问题,IE特别多 Chrome浏览器页面正常,IE下界面就乱了 原因分析 1.首先想到的是代码有米有问题呢?主要指的是兼容性 2.兼容性没有问题,那我们打开IE的开发工具 ...

  10. 五分钟急速搭建wordpress(博主亲测有效)

    第一步:下载WordPress安装包并解压 从此处下载WordPress压缩包并解压缩 http://wordpress.org/download/ 如果你想将WordPress上传至一个远程服务器, ...