【问题标题】:(Mac OSX) Adding libraries to C -specifically gnuplot(Mac OSX) 将库添加到 C - 特别是 gnuplot
【发布时间】:2013-05-04 09:36:44
【问题描述】:

我是一个尝试在 C 中获取代码的初学者。我正在使用 Mac 并使用 xcode。我过去唯一的经验是使用 eclipse 使用 java,一切都非常简单。我几乎没有使用终端的经验。

我需要为我将要从事的项目学习一点 C 语言,并且语法学习进展顺利,但我现在需要在我的 c 程序中包含一些库。具体来说,我正在尝试使用 gnuplots 进行绘图。

我已经从他们的存储库下载了 gnuplot-4.6.3,但我什至不知道如何安装这些文件。当我在 gnuplot-4.6.3 目录中时,我一直在环顾四周并尝试使用终端来使用 ./configure 命令。但我真的不知道我在做什么,所以我什至不知道下一步该去哪里或下一步该做什么。

对不起,如果这太琐碎了,老实说,我以前从来没有这样做过,我找不到一个很好的教程来做什么。

感谢您提供的任何帮助。

【问题讨论】:

  • 不管怎样,gnuplot 不是图书馆。您不能编写包含gnuplot.hC 程序,然后调用一些函数来绘制绘图。 gnuplot 是一个独立的可执行文件。您需要将数据写入文件,然后让您的程序编写脚本并通过 popensystem 或类似的方式调用 gnuplot。

标签: c terminal installation gnuplot


【解决方案1】:

我建议使用 MacPorts 安装第三方工具和库。它知道所需的依赖项并将它们作为安装的一部分进行安装。

  1. macports.org下载。
  2. 安装它,并允许它修改您的~/.profile,以便/opt/local/bin 在您的$PATH 中(任何问题,只需从命令行执行export PATH=/opt/local/bin:$PATH)。
  3. sudo port selfupdate
  4. sudo port install gnuplot

现在这会将库安装到 /opt/local/lib 中,并在 /opt/local/include 中包含包含文件,所以现在只需将该库添加到您的 Xcode 项目中。选择 target 并在 Build Phases 选项卡中打开 Link Binary With Libraries 并按下 + 按钮并选择 Add其他。现在找到/opt/local/lib/libgnuplot.a(我假设这就是它的名称;我自己没有安装它):

现在将 /opt/local/include 添加到您的 Header Search Paths 中,以便编译器可以找到 gnuplot 头文件。选择target并在Build Setting的搜索框中输入“header search”。现在双击 target 列(或右侧的项目列)中的 Header Search Path 并添加/opt/local/include

【讨论】:

  • 您的指南非常有用,但我仍然遇到问题。我不太了解终端,所以我一直盲目地按照您的指示进行操作。我不知道我是否曾允许 macports 将 $PATH 设置为 /opt/local/lib。在执行 sudo port install gnuplot 之前,我确实输入了:export PATH=/opt/local/bin:$PATH。但是,当我到了添加带有库的链接二进制文件的步骤时,我在 /opt/local/lib 中找不到 libgnuplot.a。是否有一些特殊的步骤来确保 macports 将 lib 发送到那里?
  • 我注意到它在 /opt/local/libexec 中安装了一些东西。在那里我找到了一个 gnuplot_x11,它打开一个命令窗口并运行以下命令:'/opt/local/libexec/gnuplot/4.6/gnuplot_x11;出口; gnuplot: 无法打开显示'' gnuplot: X11 中止。注销 [过程完成]'
【解决方案2】:

没关系!那你在学习!赶上!当我遇到这类问题时,您可能想了解 linux gcc/g++ 编译和链接过程的基础。然后你应该学习Cmake和Automake,它们基本上是在编译构建之前配置项目的包。

在 Unix 系统中使用命令构建的典型(良好)项目

./configure
make
sudo make install

cmake CMakelists.txt
make all
sudo make install

这就是你在网上下载源码包安装unix程序后需要做的事情。

现在,由于您使用的是 Mac,因此有所谓的软件包安装程序,即 macports 和 homebrew。我个人建议 homebrew 比 macports (我都试过了,虽然 macports 在 repos 的数量上仍然超过 homebrew,homebrew 有最新的支持,特别是在升级到新操作系统时)。所以要安装自制软件,你可以这样做

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

在您的终端中执行该操作(请参阅http://brew.sh/)以获取更多信息。

然后你可以简单地安装 GNUplot

brew install gnuplot

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多