在Eclipse中更改autotools C项目的设置

时间:2013-07-04 13:36:21

标签: c eclipse autotools

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

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

在autotools项目中,我找不到像Project properties->这样的类似内容。 C / C ++ Build->设置 - >工具设置(C编译器,C链接器)。

如果没有autotools技能就无法实现,我就搞砸了。谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

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

AC_CHECK_LIB([mysqlclient],[my_init])

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

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

相关问题