cmakelist操作之如何在c/c++程序中链接第三方库
2015-05-24 11:13
267 查看
因为初学,不知道起这样的题目正确与否,下面就来分享一下我的实践经验
开源代码是基于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静态库最先生成,下次一定不能在犯同样的错误
开源代码是基于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静态库最先生成,下次一定不能在犯同样的错误
相关文章推荐
- 程序如何使用cmake链接至libcaffe.so库文件
- 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)
- 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)
- 【链接】ios如何联机调试和发布程序
- Cmake,链接一个外部(也可能是第三方,也可能是自己编译的)库
- python中的list如何进行相减操作或者将list分片
- Android 如何通过长按list弹出操作选项
- 如何让静态库中的可执行程序不调用的函数不链接进该可执行程序?(-ffunction-sections -Wl,--gc-sections)
- c++ 非托管程序调用c#托管程序l的实现操作方式
- 关于c++ list容器的操作摸索
- VS2013 编程环境设置,如何显示C++程序行号。
- 如何用c语言调用c++做成的动态链接库
- CMake如何查找链接库,路径错误
- python如何对list进行切片操作
- 如何用eclipse开发有c++11新特性的C++程序
- C程序和C++程序间如何互相调用
- 如何将C/C++程序转译成Delphi(十四)
- C#中如何使用断点操作调试程序
- 如何在C++中调用C程序?
- CMake如何查找链接库