尝试 link dll 时出现错误 LNK2019 无法解析的外部符号
error LNK2019 unresolved external symbol when trying to link dll
我知道很多人都问过这个错误,相信我,我已经阅读了所有这些错误并遵循了所有步骤!但我仍然收到未解决的外部符号错误。
我试图在 visual studio 2012 的 c++ 代码中使用 lp_solve 的 dll(一个线性规划包)。
我收到的错误消息是:
错误 80 error LNK2019: 未解析的外部符号 _make_lp@8 在函数“void __cdecl my_solve(BLAH BLAH)
中引用
函数 make_lp() 来自 lp_solve 包,我在我的代码中从 my_solve() 调用它。对于我调用的每个求解器函数,都会弹出此错误消息。链接器似乎找不到这些函数的任何实现。
我已经完成了以下操作
- 将#include "lp_lib.h" 放入我的源代码中
- 将 lp_solve 包中的 .dll、.h 和 .lib 文件放入工作目录,并
- 在 Linker:General:Additional 库目录下添加了路径。
- 在 Linker:Input:Additional 依赖下添加了库
怎么了?
感谢您的帮助!
在您的 .cpp 中包含 lp_lib.h 时,使用 extern "C"
可能会有所帮助,如下所示:
extern "C"
{
#include "lp_lib.h"
}
有关详细信息,请查看此 link:
http://www.geeksforgeeks.org/extern-c-in-c/
我发现我下载了 lp_solve 的 WIN64 包,但我的 visual studio 使用 WIN32 作为构建平台(即使我的机器是 x86_64),我的问题就解决了。
我知道很多人都问过这个错误,相信我,我已经阅读了所有这些错误并遵循了所有步骤!但我仍然收到未解决的外部符号错误。
我试图在 visual studio 2012 的 c++ 代码中使用 lp_solve 的 dll(一个线性规划包)。 我收到的错误消息是: 错误 80 error LNK2019: 未解析的外部符号 _make_lp@8 在函数“void __cdecl my_solve(BLAH BLAH)
中引用函数 make_lp() 来自 lp_solve 包,我在我的代码中从 my_solve() 调用它。对于我调用的每个求解器函数,都会弹出此错误消息。链接器似乎找不到这些函数的任何实现。
我已经完成了以下操作
- 将#include "lp_lib.h" 放入我的源代码中
- 将 lp_solve 包中的 .dll、.h 和 .lib 文件放入工作目录,并
- 在 Linker:General:Additional 库目录下添加了路径。
- 在 Linker:Input:Additional 依赖下添加了库
怎么了? 感谢您的帮助!
在您的 .cpp 中包含 lp_lib.h 时,使用 extern "C"
可能会有所帮助,如下所示:
extern "C"
{
#include "lp_lib.h"
}
有关详细信息,请查看此 link: http://www.geeksforgeeks.org/extern-c-in-c/
我发现我下载了 lp_solve 的 WIN64 包,但我的 visual studio 使用 WIN32 作为构建平台(即使我的机器是 x86_64),我的问题就解决了。