向Eclipse CDT Autotools项目添加链接器选项
Add linker options to Eclipse CDT Autotools project
我不确定我是否完全错过了这里的要点,但是我找不到在Autotools项目的Eclipse CDT插件中添加链接器选项的地方。我想用-l选项链接一个静态库我希望在
之后在一个名为"链接器"的选项卡中找到它们。Project -> Properties -> C/C++ Build -> Settings
我在哪里得到链接器选项?
如果我不能这样做,那么我可以手动编辑哪个配置或make文件来实现相同的结果(链接静态库)
——编辑——
我遇到了一个建议,我应该把它添加到我的配置。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
配置。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
我试着在配置中添加一行。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管理的。
需要在Makefile.am
中的AM_LDFLAGS
中添加相应的-l
标志;例如:
AM_LDFLAGS = -l<library name>
在configure.ac
中添加相应的代码以确保可移植到其他系统是一个好主意。
这篇文章有助于澄清一些事情:http://aquamentus.com/autoconf_tutorial.html
我把一些东西放错地方了。一个单独的Makefile。Am用于程序,因为它位于SRC子目录中。这需要进入Configure。PKG_CHECK_MODULES([libav], [libavutil >= 6:0.8.10-1 libavformat >= 6:0.8.10-1 libavcodec >= 6:0.8.10-1])
这会生成两个变量在Makefile中使用。嗯,这些是……
$(libav_CFLAGS)
$(libav_LIBS)
顶层的Makefile。我只需要像之前那样指向那个目录…
SUBDIRS=src
程序的链接器标志在src/Makefile中处理。创建一个文件,包含如下内容…
bin_PROGRAMS=HelloWorld
HelloWorld_SOURCES=HelloWorld.cpp
HelloWorld_CPPFLAGS = $(libav_CFLAGS)
HelloWorld_LDFLAGS= $(libav_LIBS)
相关文章:
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- CMake - 更改共享库链接选项
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 使用Bazel构建具有不同编译器/链接器选项的C/C++依赖关系
- '-print_statistics'链接器选项在 Xcode 中产生错误
- C++ ld 链接器 --wrap 选项不适用于内部函数调用
- 提升程序选项:链接错误
- 如何从"开始组..结束组"链接器选项构建文件列表
- C++构建系统 - 远程编译和链接选项
- clang,linux是否有一个选项可以在链接时更改共享库名称
- 在源文件中定义链接选项C++
- 有-g和没有-DNDEBUG选项的链接时间很长
- 相同的C 代码,不同的链接选项会导致不同的行为
- AC_LANG_PROGRAM由于链接器选项的顺序失败了链接阶段
- 当我仅使用链接器选项 /LTCG时,为什么Visual Studio在Linker命令行中显示选项 /PGD
- 如何在CodeBlocks附加链接器选项中指定子系统
- Eclipse CDT链接选项-静态libgcc-静态libstdc++不影响Windows上的行为
- 用于链接的VC 11.0命令链接选项是什么
- Boost库构建-运行时链接和链接选项之间的差异
- 链接选项与g++