请问一个VC调用matlab时出现的错误!#error ERROR: Use of C runtime library internal header file.(急)

解决方案 »

  1.   

    1、设置项目编译选项首先建立一个新的项目,或者打开一个已有的项目,然后选择菜单:Project->Settings->C/C++Category:PreprocessorPreprocessor definitions:
    添加: MSVC,IBMPC,MSWINDCategory: Precompiled Headers选择: Automatic use of precompiled headers
    Through header: stdafx.h
    2、调设置项目连接选项首先要从下面几个函数定义文件(*.def)生成相应的导入库文件(*.lib)libmmfile.def
    libmcc.def
    libmatlb.def
    libmx.def
    libmat.def它们位于目录c:\matlab\extern\include
    用下面命令导出库文件:lib /def:libmmfile.def /out:libmmfile.lib /machine:ix86
    lib /def:libmcc.def /out:libmcc.lib /machine:ix86
    lib /def:libmatlb.def /out:libmatlb.lib /machine:ix86
    lib /def:libmx.def /out:libmx.lib /machine:ix86
    lib /def:libmat.def /out:libmat.lib /machine:ix86将它们放入你的项目连接选项Project->Settings->LinkCategory:InputObject/library modules:
    添加:libmatpm.lib libmmfile.lib libmcc.lib libmatlb.lib libmx.lib libmat.lib注1: 中间是空格,不要加逗号
    注2: libmatpm.lib是C++ MathLib的库,如果是只用C,就不用连接它了。Ignore libraries:
    添加: msvcrt.lib
    注: 仅在Debug版本中需要。原因不明:P以上的这些lib文件,我已经做好了,打了个包放在这里下载:matlablibs.zip (64K)3、设置编译环境Tools->Options->DirectoriesInclude fiels添加:c:\matlab\extern\include
    c:\matlab\extern\include\cppLibrary fiels添加:c:\matlab\extern\lib
    c:\matlab\extern\include注:下面这个目录是那些lib所在的地方。
    如果都挪到上面的目录,这个自然就不要了。
    4、编写程序用MCC命令生成的CPP文件和自己手工编写的CPP文件, 其项目设置是完全相同的,
    程序的语法原则上也是一样的. 只是MCC生成的CPP文件有大量"没用"的代码.(1)添加自己编写的程序模块用下面文件头:
    #include "stdafx.h"
    #include "matlab.hpp"
    然后, 按照C++ MathLib文档要求的格式书写程序.
      

  2.   

    请问“按照C++ MathLib文档要求的格式书写程序.”是不是有点笔误?应该是“c++matlab"吧,怎么没人顶呢?我也希望能解决在VC++中调用matlab中的函数问题。楼主,我觉得你已经很厉害了!