如何让CLSQL在非标准目录中查找mysql.h?

时间:2009-06-07 15:26:41

标签: sql lisp

在错误日志中:

CLSQL正在做:

gcc -I /usr/local/include/mysql -I /usr/include/mysql -I /sw/include/mysql -I /opt/local/include/mysql -I /usr/local/mysql/include -fPIC -c clsql_mysql.c -o clsql_mysql.o

并收到错误: clsql_mysql.c:34:19:mysql.h:没有这样的文件或目录 和一堆C错误,因为它不包含标题。

我希望它能做到:

gcc -I /usr/local/include/mysql -I /usr/include/mysql -I /sw/include/mysql -I /opt/local/include/mysql -I /usr/local/mysql/include <b>-I /usr/local/mysql/include/mysql</b> -fPIC -c clsql_mysql.c -o clsql_mysql.o

我已经尝试运行:(clsql:push-library-path #P“/ usr / local / mysql / include / mysql /”)。没用。

HALP!

2 个答案:

答案 0 :(得分:1)

  1. 通过在clsql_mysql.c文件的开头插入带有全名的#include来检查该文件是否存在且没有权限问题:

    #include“/usr/local/mysql/include/mysql/mysql.h”

  2. 如果编译良好 - 撤消更改并解析-I参数

  3. 提供的路径
  4. 如果不编译并说“文件不存在” - 检查该文件是否存在且没有权限问题

答案 1 :(得分:0)

我不熟悉CLSQL,但如果它使用cffi-grovel生成该命令,那么在加载之前你应该尝试添加你的“-I / usr / local / mysql / include / mysql /”来cffi-grovel :: * cc-flags *列表。您也可以将它添加到asd文件中,因为grovel-file asdf组件采用可选的cc-flags参数。