编译的.exe找不到输入文件

时间:2017-07-02 18:10:07

标签: c visual-studio compilation sas

我在.exe中编译了一个c代码,并且可以通过双击在不同位置成功执行.exe。

我正在尝试使用SAS来执行.exe。有错误消息说无法找到输入文件,因此.exe无法正确执行。

我使用Visual Studio编译c代码。我猜它与编译代码的方式有关(比如所有源文件和头文件的默认目录,以及保存文件的输入)?

任何人都可以就调试和解决问题给我一些想法吗?

用于调用.exe的SAS代码粘贴在下面,错误消息也是如此。

    x '"C:\Users\Gfish\Documents\Visual Studio 2010\Projects\M\Debug\M.exe"';

error image 非常感谢!!

Gfish

使用infile和pipe再次调用.exe后,SAS中的错误信息也被附加(即错误2)enter image description here

1 个答案:

答案 0 :(得分:1)

为了在SAS中调试OS命令,我总是喜欢将infilepipe一起使用 - 这样你就可以提取任何错误/调试消息并将它们用于条件逻辑。

尝试:

data _null_;
 infile '"C:\Users\Gfish\Documents\Visual Studio 2010\Projects\M\Debug\M.exe" 2>&1' pipe;
 input;
 list;
run;

注意2>&1 - 这会将STDERR重定向到STDOUT(因此您可以在流中获取两者)。

另外 - 正如@Reeza所提到的 - 尝试在常规命令行上首先运行它。如果它没有在那里工作,它就无法在SAS工作。