如何在C++Linux中执行程序



我有一个cpp项目,它执行另一个程序
这是我的测试:

int main() {
    execl("java -jar /pathOfJAR/myjar.jar", NULL);
    return 0;
}

我做了这个项目,但一无所获

然后我这样尝试:

execl("java", "-jar", "/pathOfJAR/myjar.jar");

我得到一个错误:

错误:无法找到或加载主类。pathOfJAR.myjar.jar

但是,我可以在终端中运行命令:

java -jar /pathOfJAR/myjar.jar

我可以得到正确的结果

如何使用函数execl或我使用了错误的函数?

尝试:

execl("/bin/java", "java", "-jar", "/pathOfJAR/myjar.jar", NULL);

请注意,"/bin/java"应该替换为java解释器的完整路径,最容易用which java确定。

错误消息来自java,而不是execl。确保jar文件的清单具有Main Class属性。

在从C++程序调用之前,请在命令行中运行jar并测试它是否工作。

无论如何,你为什么要构建一个C++包装器?您可能需要将shell包装器视为(如果您需要包装器的话)。

相关内容

  • 没有找到相关文章

最新更新