Matlab不会运行我的C ++ .exe文件

时间:2013-01-16 02:29:21

标签: c++ visual-studio-2010 matlab cmd

我的C ++程序运行良好,但它有不同的步骤。它首先打开一个文件,然后根据从文件中获取的数据进行一些计算。现在我试图通过matlab运行它。我试过mex,但它太复杂了,因为我有VS 2010 Express和MATLAB 2007b。所以mex永远找不到我的c编译器。

我现在正试图直接从C ++程序可执行文件中运行它。以下是我尝试这样做的方法:

system('C:\path\file.exe')

它会运行,但命令窗口会冻结,我必须每次关闭Matlab才能重新回到正轨。然后我试着双击自己的可执行文件。它闪烁,但我可以看到它从我的文件"file could not be uploaded"中输出一些内容,如果它找不到该文件,则由我的程序的一部分生成。

然后我意识到这可能是因为它导致它不能运行和崩溃。 所以我在系统命令打开.exe文件之前编写了一个示例代码来打开文件。我做过类似fopen('fname','r')的事情,但没有任何作用。请注意,我尝试打开的此文件是.COF文件。

我尝试使用调试和发布模式运行.exe文件,但没有任何反应。它没有给出任何错误,这意味着它会看到.exe文件但是命令行没有出现并且matland命令窗口冻结。

运行后,它应该在命令行提示用户,然后获取输入参数并输出一些内容......

请帮忙......

1 个答案:

答案 0 :(得分:0)

我猜你的.COF文件与二进制文件可以访问的路径不同。如果你可以重新编译,请尝试一个绝对路径名,并在没有MATLAB的情况下首先测试它。

有更多方法可以解决这个问题,例如将文件名作为命令行参数传递给二进制文件,或者在使用system时读取“当前目录”的规则,但也许你会对快速解决方案感到满意。