Visual studio 2010 如何解决LNK2019联动错误?
我有两个项目,rootexp和testapp,rootexp是一个由C编写的DLL项目,testapp是一个测试rootexp.DLL的win32控制台项目。我的代码如下: roofexp.h testapp.cpp RootExp项目可以成功生成,当我生成testapp项目时,收到以下错误消息:Visual studio 2010 如何解决LNK2019联动错误?,visual-studio-2010,dll,lnk2019,Visual Studio 2010,Dll,Lnk2019,我有两个项目,rootexp和testapp,rootexp是一个由C编写的DLL项目,testapp是一个测试rootexp.DLL的win32控制台项目。我的代码如下: roofexp.h testapp.cpp RootExp项目可以成功生成,当我生成testapp项目时,收到以下错误消息: error LNK2019: unresolved external symbol "__declspec(dllimport) int __cdecl ParserExecute(char *,in
error LNK2019: unresolved external symbol "__declspec(dllimport) int __cdecl ParserExecute(char *,int *,char *,int,void *)
我在谷歌上搜索了很长时间,无法解决我的问题。有人能告诉我我的代码出了什么问题以及如何解决吗?有几件事我要检查一下:
假设您正确地包含了DLL的.lib文件,大多数情况下这是由于编译器设置的不同。e、 g.如果您的DLL是在打开UNICODE的情况下编译的,请确保您的应用程序也是在打开UNICODE的情况下编译的(否则TCHAR的定义将不同)
没有明显的方法确保这些函数实际上是从DLL导出的。您的ROOF_EXP_API宏看起来肯定是错误的,它通常是这样编写的:
#ifdef ROOF_EXP_API
# define ROOF_EXP_API __declspec(dllexport)
#else
# define ROOF_EXP_API __declspec(dllimport)
#endif
您是否将lib文件传递给了链接器?是的,我使用
/LIBPATH:“lib path”roofexp.lib
链接器选项将lib文件传递给了链接器。可能的重复项,以及其他几个选项,所有这些选项得出的结论基本相同。
error LNK2019: unresolved external symbol "__declspec(dllimport) int __cdecl ParserExecute(char *,int *,char *,int,void *)
#ifdef ROOF_EXP_API
# define ROOF_EXP_API __declspec(dllexport)
#else
# define ROOF_EXP_API __declspec(dllimport)
#endif