提问人:Alexis R Devitre 提问时间:2/24/2016 最后编辑:Alexis R Devitre 更新时间:2/24/2016 访问量:91
make 中未定义的引用
Undefined reference in make
问:
我正在编译包含许多文件的代码,其中一些文件位于本地 MATLAB 安装文件夹中。为此,我向 g++ 添加了一个包含,这显然不能很好地解析,因为我得到了所有 MATLAB-C++ 函数的未定义引用(我正在尝试使用 MATLAB C++ 引擎),如以下屏幕截图所示:
我已经检查了引用的目录,它确实包含约束.cpp引用的“Engine.h”,这通常足以执行MATLAB-C++引擎函数。
关于这个问题可能来自哪里的任何想法?
答:
2赞
1201ProgramAlarm
2/24/2016
#1
您需要与 MATLIB 库文件链接。您的代码正在引用它们,但链接器不知道它们是什么。
评论
0赞
Alexis R Devitre
2/24/2016
嗯,请原谅我的无知,链接指的是“-L ****”语法(虽然我的意思是库)或类似“-leng”“-lmx”的东西?我曾经在计算机上使用的 Makefile 的先验版本中拥有它们,但在某些时候,编译器告诉我它没有使用它们或类似的东西。
0赞
1201ProgramAlarm
2/24/2016
@AlexisRustamDevitre 您需要一个 -L,其中包含保存 MATLAB 库文件的文件夹的路径。
0赞
Youka
2/24/2016
@1201ProgramAlarm -L 只是添加一个用于查找库的搜索目录。-I 添加了一个搜索目录,用于查找源中的包含。-l(注意小 L),后跟库名称,指示链接。
0赞
Alexis R Devitre
2/24/2016
@1201ProgramAlarm所以我需要带有位置的 -L(这是我在更新中放入的)和带有“eng”和“mex”的 -l,它们是实际的库文件调用?是这样吗?...刚刚尝试过,然后......我认为它解决了......你能证实我对你所说的话的解释吗?我很想知道这是否是正确的想法。
评论