C 我在mex文件中有一些问题

C 我在mex文件中有一些问题,c,matlab,visual-studio-2012,C,Matlab,Visual Studio 2012,我在我的c代码中使用了Lindo软件,我想用Matlab实现它 我在使用mex文件时遇到以下问题: mex ex_sdp1.c Creating library C:\Users\AZINRA~1\AppData\Local\Temp\mex_n9pt9A\templib.x and object C:\Users\AZINRA~1\AppData\Local\Temp\mex_n9pt9A\templib.exp ex_sdp1.obj : error LNK2019: unreso

我在我的c代码中使用了Lindo软件,我想用Matlab实现它

我在使用mex文件时遇到以下问题:

 mex ex_sdp1.c
   Creating library C:\Users\AZINRA~1\AppData\Local\Temp\mex_n9pt9A\templib.x and object C:\Users\AZINRA~1\AppData\Local\Temp\mex_n9pt9A\templib.exp 
ex_sdp1.obj : error LNK2019: unresolved external symbol LScreateEnv referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LScreateModel referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSdeleteEnv referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSdeleteModel referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSloadLicenseString referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetVersionInfo referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetErrorMessage referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSloadInstruct referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSoptimizeQP referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetInfo referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetPrimalSolution referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetDualSolution referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetVariableNamej referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSgetConstraintNamei referenced in function mexFunction 
ex_sdp1.obj : error LNK2019: unresolved external symbol LSsetModelLogfunc referenced in function mexFunction 
ex_sdp1.mexw64 : fatal error LNK1120: 15 unresolved externals 

  C:\PROGRA~1\MATLAB\R2013A\BIN\MEX.PL: Error: Link of 'ex_sdp1.mexw64' failed. 
我怎样才能修好它们

我的include文件位于路径C:\Lindoapi\include中,库位于C:\Lindoapi\lib\win32\lindo9\u 0.lib中 所以我加上这些句子: “mex ex_sdp1.c-L 用微软Visual C++ 2012构建。 使用mex时出错 访问被拒绝。 mex ex_sdp1.c-L-L 使用mex时出错 MEX找不到使用-l选项指定的库“”。 MEX查找具有以下名称之一的文件: lib先生 lib.lib 请使用-L选项指定此库的路径。
mex ex_sdp1.c-L-I 用微软Visual C++ 2012构建。 使用mex时出错 访问被拒绝。 mex ex_sdp1.c-L-I-L 使用mex时出错 MEX找不到使用-l选项指定的库“”。 MEX查找具有以下名称之一的文件: lib先生 lib.lib
请使用-L选项指定此库的路径“

这些函数名不是标准的C函数,可能来自某些与windows相关的库

在任何情况下,makefile(或命令行)中的link语句都需要包含相应的库

对于gcc,在linux上,通过将以下参数附加到将文件链接在一起的语句中,可以包含该库

-LpathToLibrary-lshortLibraryName

例如,当时正在使用数学库

在源文件中:

#include <math.h>
在link命令中,附加以下内容

-I/usr/include
-L/usr/lib/   -lm
对于windows操作系统和不同的编译器,细节将有所不同


例如,如果使用visual studio,库路径、库名称和包含文件路径将是当前项目设置的一部分

此特定示例ex_sdp1.c是LINDO API c/c++示例的一部分,它不是可以使用“mex”构建的现成Matlab代码


首先,尝试将示例作为独立应用程序构建和运行,即在Matlab框架之外。一旦成功,您实际上可以以M-file的形式编写同一应用程序的Matlab版本。在使用“mxlindo”接口的Matlab中,有几个使用LINDO API的Matlab示例(M文件)。说明如何使用“mxlindo”的Matlab示例位于“lindoapi/Matlab”下。查看'lindoapi/matlab/readme.txt'快速入门。

似乎存在链接问题。您需要阅读Clinking@Mohadese我更新了你的问题。按照您提供错误消息的方式,<和>之间的所有内容都没有显示,这使得很难理解错误消息。如果您查看错误消息:它正在搜索
.lib
。您必须在没有
和扩展名的情况下对库名称进行路径设置!谢谢你的回复。我采纳了你所有的建议。但我有一些错误,我解释他们的问题。请帮帮我。