小编Jac*_*sel的帖子

链接共享库Autotools

我是一个autotools初学者,我似乎无法弄清楚如何使用autotools正确使用外部库.

这是我的目录层次结构.

.
??? configure.ac
??? Makefile.am
??? README
??? src
    (source files)
    ??? Makefile.am
Run Code Online (Sandbox Code Playgroud)

acml_mp默认情况下,库的名称是和/opt/acml5.3.1/gfortran64/lib.还有一个名为/opt/acml5.3.1/gfortran64/includeinclude 的目录.当我没有autotools编译时,包括通常的编译器标志工作正常:

g++ ... -L/opt/acml5.3.1/gfortran64_mp/lib -I/opt/acml5.3.1/gfortran64_mp/include -lacml_mp ...
Run Code Online (Sandbox Code Playgroud)

在configure.ac中,我输入了AC_LIB_LINKFLAGS([acml_mp])我认为只处理-lacml_mp标志的命令.

基本上,最终目标是对此库进行autoconf搜索,并使automake生成的makefile在编译时包含正确的链接/包含路径.最后,在手动编译时,我总是需要LD_LIBRARY_PATH使用命令修改环境变量

Export LD_LIBRARY_PATH=/opt/acml5.3.1/gfortran64_mp/lib:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想避免让用户这样做.抱歉,如果这些信息已经存在,我通过SO和Google查看了几个小时无济于事.

linker automake autoconf autotools

3
推荐指数
1
解决办法
3115
查看次数

标签 统计

autoconf ×1

automake ×1

autotools ×1

linker ×1