【问题标题】:External Libraries in Programming [closed]编程中的外部库[关闭]
【发布时间】:2015-02-27 20:44:34
【问题描述】:

这是一个新手问题。我不确定“外部库”是否是正确的术语,但我看到一些程序 includeuse 库或模块不是程序员定义的。编译时是否需要做一些特别的事情 - 我是否需要告诉编译器在哪里可以找到这些外部库?

例如,在此页面http://www.unidata.ucar.edu/software/netcdf/examples/programs/ 上,SimpleXyWr.cpp 和 simple_xy_wr.f90 都引用了 netCDF 库/模块。编译器如何知道在哪里可以找到库/模块?我需要在编译的某个时候自己提供路径吗?

【问题讨论】:

  • 您使用的是什么编译器包?通常,编译器工具会按照特定顺序搜索您的库,但是您可以告诉大多数编译器在哪里可以找到这些库,是的,您确实需要指定它是否不在默认搜索路径(当前工作目录、系统库位置、LD_LIBRARY_PATH 环境变量(unix/linux、Windows 上的PATH)等)
  • 我正在使用 GNU - 用于 Fortran 的 gfortran。我将如何告诉 gfortran netCDF 模块在哪里?

标签: c++ fortran netcdf


【解决方案1】:

对于 GNU 编译器,-L 选项通常告诉在哪里找到库,-l 告诉要链接哪个库。例如,

f77 -o run main.f -L/usr/local/lib -llapack -lblas

将在/usr/local/lib driectory 中查找库并与lapackblas 库链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多