代码之家  ›  专栏  ›  技术社区  ›  taka

无法链接使用Homebrew下载的MacOS上的netcdf库

  •  0
  • taka  · 技术社区  · 2 年前

    我在我的MacOS上安装了带有Homebrew的netcdf和netcdf-cxx库,为了进行测试,我试图编译官方网站上的一个示例代码 https://www.unidata.ucar.edu/software/netcdf/examples/programs/SfcPresTempWr.cpp .

    从…起 Linking and using netCDF with gcc ,我添加了2个链接器选项 -lnetcdf_c++ -lnetcdf 在编译命令中:

    g++ SfcPresTempWr.cpp -o SfcPresTempWr -lnetcdf_c++ -lnetcdf
    

    但是链接器会产生错误

    ld:找不到-lnetcdf_c的库++

    我用安装了netcdf cxx brew install netcdf-cxx ,但中没有netcdf_c++或netcdf-cxx库 /usr/local/lib /usr/lib . 你知道怎么解决这个问题吗?

    0 回复  |  直到 2 年前
        1
  •  0
  •   taka    2 年前

    我可以通过以下步骤使其工作:

    使用搜索库位置 find /usr -name netcdf-cxx . 就我而言,地点是 /usr/local/Cellar/netcdf-cxx/4.3.1_1/lib/ .

    使用将库位置添加到编译命令 -L 选项和库名称 -l 选项在我的情况下,命令变成了:

    g++ SfcPresTempWr.cpp -o SfcPresTempWr -L/usr/local/Cellar/netcdf-cxx/4.3.1_1/lib/ -lnetcdf-cxx4.1.1.0

    原来我不需要添加 -lnetcdf 在命令结束时,没有 L 选项,它也编译成功。