【发布时间】:2014-04-30 02:35:35
【问题描述】:
我不确定我是否完全错过了这里的要点,但是我找不到在 Autotools 项目的 Eclipse CDT 插件中添加链接器选项的地方。 我想用 -l 选项链接静态库 我希望在转到
后在名称为“链接器”的选项卡中找到它们Project -> Properties -> C/C++ Build -> Settings
我在哪里可以找到链接器选项?
如果我不能这样做,那么我可以手动编辑哪个配置或制作文件以获得相同的结果(链接静态库)
--编辑--
我遇到了一个建议,我应该将它添加到我的 configure.ac
PKG_CHECK_MODULES([DEPS], [libavutil >= 6:0.8.10-1 libavformat >= 6:0.8.10-1 libavcodec >= 6:0.8.10-1])
我试过了,但这并不能说服 autotools 告诉链接器链接适当的库。我错过了什么吗???
--编辑 2--
我的 Makefile.am 是 CDT 新项目向导为 autotools 项目生成的默认文件。
SUBDIRS=src
Config.ac 文件也是默认的...
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(HelloWorld, 1.0)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()
AC_PROG_CXX
AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT
我尝试在 Config.ac 中添加如下所示的一行:
PKG_CHECK_MODULES([libav], [libavutil >= 6:0.8.10-1 libavformat >= 6:0.8.10-1 libavcodec >= 6:0.8.10-1])
我把这行放在'AC_PROG_CXX'行之后
然后我将以下内容添加到我的 Makefile.am...
HelloWorld_CPPFLAGS = $(libav_CFLAGS)
HelloWorld_LDFLAGS= $(libav_LIBS)
文件 HelloWorld.cpp 只是一个快速测试,应该报告 libavformat 版本
#include <stdio.h>
extern "C" {
#include <libavformat/avformat.h>
}
int main(void) {
int avVer = avformat_version();
printf("libavformat version number: %d", avVer);
return 0;
}
这一切都由 eclipse CDT 管理。
【问题讨论】:
标签: c++ eclipse linker autotools eclipse-cdt