[英]How to execute a program in 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 ++包裝器? 您可能希望將外殼包裝視為(如果您完全需要包裝)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.