未加载 Dyld 库:原因:找不到图像

Dyld Library not loaded: Reason: Image not found

我知道之前有人问过这方面的问题,但我无法使用他们的任何解决方案解决我的问题。我正在尝试在 Mac 和 Xcode 上使用 DISLIN 绘图库。 (OS:Yosemite,Xcode 版本:6.1.1)。

我目前正在尝试运行一个非常简单的测试程序:

#include <stdio.h>
#include <iostream> // Required by DISLIN!
#include "dislin.h" // Required by DISLIN! Includes the
// plotting package
using namespace std;
int main(int argc, char *argv[])
{
    int numberOfPoints = 2;
    float x[2] = {0, 1};
    float y[2] = {0, 2};

    cout << x << y << endl ; 
    qplot(x, y, numberOfPoints);
}

我尝试 运行 时遇到的错误是:

dyld: Library not loaded: /usr/local/lib/libdiscpp.10.dylib
  Referenced from: /Users/user/Library/Developer/Xcode/DerivedData/phys239_a2-blbdrjqdqxewuwfvvdxelytbfmzs/Build/Products/Debug/phys239_a2
  Reason: image not found
Program ended with exit code: 9

程序编译正常,但不会运行。我已经使用来自 dislin 网站 (dislin.de) 的软件包安装了 Dislin,并通过自制软件安装了 openmotif。我将项目链接到 dislin 和 openmotif 库(分别位于 /usr/local/dislin/ 和 /usr/local/Cellar/openmotif/2.3.4/lib 中)。

有没有人有这方面的经验?或者,之前有没有人能够让 dislin 与 Xcode 一起工作?

所以,这整件事的重点是让 dislin 运行 Xcode 看起来我终于取得了一些坚实的进展,因为我可以制作一个实际的情节。希望不会有新的惊喜。

为了做到这一点,我就是这样做的。

  • 从 dislin.de 下载 Dislin(dislin-10。5.darwin.intel。64.tar.gz,在下载部分)

  • 确保您已经 up-to-date 安装了 X11。这是我得到它的地方。 (http://xquartz.macosforge.org/landing/)

  • 使用自制软件,我安装了 openmotif。这是 dislin 要求的。我使用了以下命令:

brew install https://gist.githubusercontent.com/steakknife/60a39a32ae84e12238a2/raw/openmotif.rb

我在这里找到的:https://gist.github.com/steakknife/60a39a32ae84e12238a2

  • 然后我将以下行添加到./bash_profile

    export DISLIN=/usr/local/dislin DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/dislin:/usr/local/Cellar/openmotif/2.3.4/lib/:/opt/X11/lib PATH=$PATH:$DISLIN/bin

我知道整个 DYLD_LIBRARY_PATH 事情可能不是最好的,老实说,我什至不知道它在我的安装中是否真的很重要,但它目前正在工作,我不会去尝试弄乱它。

  • 安装dislin。切换到您下载它的文件夹和 运行 命令 ./INSTALL

  • 现在打开 Xcode 并启动一个新的控制台应用程序。您需要确保可以 link 正确使用这些库。在 'Build Settings' 中,我在 header 搜索路径中添加了 /usr/local/dislin/real64 (有两个 'dislin.h' 文件。如果我不使用此文件夹中的那个,结果我see are garbage.) To the library search paths I have added '/usr/local/dislin/liband/usr/local/Cellar/openmotif/2.3.4/lib`

  • 在 'Build Phases' 中添加上面两个库文件夹中的库。

然后我运行下面的程序:

#include <iostream>
#include <dislin.h>

double f(double aX)
{
    return aX * aX ; // Function to be plotted
}

int main()
{
    double x[11], y[11] ;
    double del = 0.1 ; 
    for( int i = 0 ; i < 11 ; i++)
    {
        x[i] = i * del ; 
        y[i] = f(x[i]) ; 
    }
    metafl("PDF") ; 
    disini() ;
    name( "X-Axis", "x" ) ;
    name( "Y-axis", "y" ) ; 
    qplsca(x, y, 11) ; 
}

它产生了这个输出:

这就是我所在的位置。希望这可以在某些时候帮助某人。