【问题标题】:Change settings of autotools C project in Eclipse在 Eclipse 中更改 autotools C 项目的设置
【发布时间】:2013-07-04 13:36:20
【问题描述】:

我想更改一个开源程序的代码。这是使用 autotools,所以我在 eclipse 中将它作为 autotools 项目打开。我成功地构建了项目,但我不知道如何轻松添加一些使用 mysql.h 和 my_global.h 的代码。具体来说,我在哪里添加:

/usr/include/mysql
-lmysqlclient
-L/usr/lib

在 autotools 项目中,我找不到类似项目属性-> C/C++ 构建-> 设置-> 工具设置(C 编译器、C 链接器)之类的东西。

如果没有自动工具技能是不可能的,那我就搞砸了。感谢您的回答。

【问题讨论】:

    标签: c eclipse autotools


    【解决方案1】:

    -L/p/a/t/h 之类的东西是用户在运行 configure 时将添加的标志,但 /usr/lib 通常不会添加,因为默认情况下链接器会搜索它。如果您通过添加对libmysqlclient 的新依赖项来修改源代码,您很可能只需要查看configure.ac(或configure.in,但如果configure.in 存在,请考虑提交错误以更改名称或自己更改)并添加以下行:

    AC_CHECK_LIB([mysqlclient],[my_init])
    

    很可能在configure.ac 中已经调用了AC_CHECK_LIB,您应该在相应部分的末尾添加这一行。这将导致生成的配置脚本在配置时检查库的可用性,并在链接时添加适当的 -l 标志。与往常一样,用户负责适当地设置 CPPFLAGSLDFLAGS 以填充 -D-L 标志。

    mysql 很可能提供了一个*.pc 文件,您可能会看到使用PKG_CHECK_MODULES 的示例。这样做将需要您做更多的工作,并且(在我看来)不太正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      • 2013-04-14
      相关资源
      最近更新 更多