【发布时间】:2011-07-06 16:22:00
【问题描述】:
我正在尝试创建一个 CUDA 程序(我是新手),该程序首先从远程 MySQL 数据库中获取信息。在 CUDA 调用之前,我在程序内部使用 MySQL 网站的 Connector/C 库。
我可以在使用 gcc(没有任何 CUDA 代码)时使用 MySQL 编译我的程序,但不能使用 nvcc(CUDA 编译器)。一位熟悉 CUDA 的同行向我提到,他必须编译一些他用 nvcc 做的 libjpg 东西,以避免“错误的架构”和链接问题。他建议我用 nvcc 编译 Connector/C 库。但是,Connector/C 库使用 CMake 而不是常规的 Makefile。
所以,作为 CMake 的新手,我研究了一些东西并找到了听起来很像我需要的工具链文件(在此处找到)。但是,我在编译期间遇到了问题,其中所有默认包含和连接器/C 中使用的库都不包括在内。具体
-- Looking for include files HAVE_ALLOCA_H
-- Looking for include files HAVE_ALLOCA_H - not found.
和
-- Looking for strstr
-- Looking for strstr - not found
这些只是几个示例,还有更多文件未找到。 我是否正确地解决了这个问题?有没有我没有考虑的更明显的解决方法?如果我尝试使用 CUDA 编译 MySQL Connector/C 是正确的,是否有任何建议可以正确包含 Connector/C 所需的文件和库?
感谢您的帮助。
【问题讨论】:
-
我对这个了解不多,也没有写我项目的Makefile。但是,对于它的价值,快速浏览一下我的 Makefile 会告诉我,我们使用 nvcc 来处理带有内核的代码和链接,而我们使用 gcc 来处理其他代码。即,您是否尝试过使用 gcc 编译 MySQL 代码,但使用 nvcc 链接?
标签: mysql cuda cmake mysql-connector