gpt4 book ai didi

java - 当从 Java Tomcat Servlet 调用时,C++ 程序返回 -1073741515

转载 作者:行者123 更新时间:2023-11-28 06:08:15 26 4
gpt4 key购买 nike

我有一个处理图像处理的 C++ 应用程序(通过 OpenCV 2.4.10)。当我使用以下代码片段从命令行或另一个本地 Java 应用程序调用此程序时:

ProcessBuilder pb = new ProcessBuilder(_IMG_PROC_ENGINE_PATH, imgPath);
pb.redirectError();
Process p = pb.start();
exitCode = p.waitFor();

一切正常,CPP 应用程序返回正确的结果。

但是当我在同一台 PC 上使用完全相同的用户帐户从 Java Tomcat Servlet 调用相同的 CPP 程序时,我得到一个错误返回代码 -1073741515 来自 CPP。经过一番查找,我发现这个代码错误是在外部库加载出现问题时出现的。如果我从我的 C++ 程序中删除 OpenCV 库的使用,这是真的,一切都很好。

为什么,当我从命令行或另一个本地 Java 应用程序在本地执行程序时,一切正常,但是当我从 Java Servlet,我收到库加载错误?我该如何解决这个问题?

附言PC 上没有杀毒软件或任何其他安全软件(例如 Internet Security、EMET 等),它们可能会中断进程。

最佳答案

我认为在 Tomcat Servlet 中运行时环境变量有些不同。这可以解释为什么你的程序无法加载运行时库。

我会尝试将必要的 OpenCV 运行时库文件复制到与 C++ 可执行文件相同的目录。

关于java - 当从 Java Tomcat Servlet 调用时,C++ 程序返回 -1073741515,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com