因为初学,不知道起这样的题目正确与否,下面就来分享一下我的实践经验
开源代码是基于boost框架下的一个程序,任务是将其移植,能够在显卡上编程,于是我需要通过cuda编程实现。
目前的解决思路是通过修改CMakeLists.txt从而实现在编译链接的时候将此开源代码与我自己的.cu文件一同编译并且顺利链接在一起
首先我在/src/cxx/lib/下面建立了一个cuda文件夹,里面放了测试用的.cu源文件以及CMakelists.txt。
这个CMakeLists.txt的功能是将此.cu文件编译成静态库。
然后我在lib文件夹下的CMakelists.txt下面增加了cuda文件夹,好让cmake运行时找到cuda文件夹下面的CMakelists.txt从而完成编译
因为我让lib下的某个文件夹中的.cpp文件调用了cuda源文件中的函数。
在make的时候老是提示此函数未定义,找了好久发现最终的问题是lib下的CmakeLists.txt没有将cuda静态库最先生成