无法在 MacOS 上使用 C++ 中的“系统”函数调用某些命令(它们在终端中手动工作)

问题描述 投票:0回答:1

我正在开始我的 LaTeX 冒险之旅,我希望通过 C++ 程序将 .tex 文件转换为 .pdf。我可以通过在终端中输入

pdflatex foo.tex
来手动完成此操作,它会给我 foo.pdf。因此,我将 foo.tex 文件复制到程序的工作目录中,并想使用
system("pdflatex foo.tex")
函数来转换它,但程序给了我这个错误:
sh: pdflatex: command not found
。使用
pwd
函数为我提供了包含 .tex 文件的正确目录,因此不可能找不到该文件。其他简单的命令如
mkdir
也可以使用。有人可以帮忙吗?

c++ macos terminal latex system
1个回答
0
投票

这是因为

system()
生成的 shell 使用不同的 PATH 环境。尽管像 @samcarter-is-at-topanswers-xyz 所说,请在
system()
调用中使用完整路径,否则您将需要修改这些默认路径以包含工具的位置。比照。 https://apple.stackexchange.com/a/33246/311469

© www.soinside.com 2019 - 2024. All rights reserved.