【问题标题】:giving 'java.library.path' in netbeans for .dll/.so files在 netbeans 中为 .dll/.so 文件提供“java.library.path”
【发布时间】:2012-05-29 16:43:31
【问题描述】:

如何在 netbeans 中提供 .dll.so 文件的路径以使用

System.loadLibrary("Foo")

我阅读了this on netbeans page but couldn't help me.,因为它给出了不满意的链接错误。

这是我尝试过的两件事:

在下面的快照中,我在 netbeans 项目中创建了一个 lib 文件夹,并将 dll 文件放在其中。

在第二个快照中,我在modules 文件夹中创建了一个lib 文件夹,并将所有dll 文件放在lib 文件夹中,如link 中所述。

但是他们都给了我unsatisfied link error 例外。如何在 netbeans 中设置 java.library.path 以便我可以直接从 netbeans 测试应用程序, 不用去终端上写字?

【问题讨论】:

标签: java netbeans library-path


【解决方案1】:

如果您正在处理“NetBeans 模块”

DLL 或 SO 可以放在模块项目源代码的文件夹 release/modules/lib/ 中(查看“文件”选项卡)。这将使它们出现在模块 JAR 所在的 lib 子目录下的最终 NBM 或应用程序中。然后像往常一样使用 System.loadLibrary。

【讨论】:

    【解决方案2】:

    对我来说,JDeveloper 的建议没有奏效。但是,我今天下午遇到的方法很方便。 它适用于 netbeans 8.02,以及 Visual Studio 2013 生成的 dll。

    1. 在 netbeans 的 [Source Packages] 节点下创建一个包(例如,“dll”) 项目
    2. 将 dll 文件(例如 simpleDLL.dll)放入/复制到包中(例如 "dll")
    3. 在netbeans项目的[Libraries]节点上,右键 并选择“添加 Jar/文件夹...”,
    4. 导航到包含您在上面步骤 1 中创建的包的文件夹(“dll”)的文件夹(“src”)(在我的示例中可能是“...\src\dll”),选择打包文件夹("dll"),点击【打开】按钮将其选中。

    -- 现在您应该已将文件夹(“dll”)(包含 dll 文件{simpleDLL.dll})添加到项目的库节点。

    就是这样。它应该工作! 祝你好运。

    【讨论】:

      【解决方案3】:

      我使用的是 Mac OS X Yosemite 和 Netbeans 8.02,我遇到了同样的错误,我找到的简单解决方案就像上面一样,当您需要在项目中包含本机库时,这很有用。 Netbeans 的下一步也是如此:

      1.- Right click on the Project
      2.- Properties
      3.- Click on RUN
      4.- VM Options: java -Djava.library.path="your_path"
      5.- for example in my case: java -Djava.library.path=</Users/Lexynux/NetBeansProjects/NAO/libs>
      6.- Ok
      

      我希望它对某人有用。 我找到解决方案的链接在这里: java.library.path – What is it and how to use

      【讨论】:

        【解决方案4】:

        它现在正在工作。一些与 Netbean IDE 相关的设置。仅限 Netbean IDE。

        按照步骤操作:-

        ==>Right click on the Project
        ==>Properties
        ==>Click on RUN
        ==>VM Options : -Djava.library.path="C:\Your Directory where Dll is present"
        ==>Ok
        

        它的工作 100%。我已经在我自己的项目中做到了这一点。

        【讨论】:

        • 如何使用 2 个不同的库路径来做到这一点?在我的桌面文件中说一个,在我的程序文件中说另一个,文件?
        • 谢谢,我发现它也可以工作 -Djava.library.path="path1";"path2"。只是给正在阅读本文的每个人的说明,不要做我所做的并将 dll 的名称输入到文件路径中。
        • @JDeveloper:你好,我在 Ubuntu 操作系统中工作,那么 .dll 怎么能工作?
        • @JavaMan ,我认为 .dll 不适用于 ubuntu 或任何 unix 风格的操作系统。您可以使用 Build Path 配置路径。
        • 这对我不起作用。 Netbeans 仍在尝试在旧位置查找 dll。我做错了什么?
        猜你喜欢
        • 2018-05-22
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-30
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        相关资源
        最近更新 更多