2011-04-25 142 views
0

我想运行使用C编写的代码,这是一个对话板dmv 960A 4T1pci。我想代码转换成DLL,但我面对34个误差,这几乎是相同的,这里是他们的列表:转换c源代码到一个dll

Linking... 
    Creating library Debug/drivendll.lib and object Debug/drivendll.exp 
drivendll.obj : error LNK2001: unresolved external symbol _sr_waitevt 
drivendll.obj : error LNK2001: unresolved external symbol _gc_CCLibStatusEx 
drivendll.obj : error LNK2001: unresolved external symbol _gc_Start 
drivendll.obj : error LNK2001: unresolved external symbol _sr_setparm 
drivendll.obj : error LNK2001: unresolved external symbol _gc_DropCall 
drivendll.obj : error LNK2001: unresolved external symbol _gc_WaitCall 
drivendll.obj : error LNK2001: unresolved external symbol _gc_ResetLineDev 
drivendll.obj : error LNK2001: unresolved external symbol _gc_Close 
drivendll.obj : error LNK2001: unresolved external symbol _gc_ResultInfo 
drivendll.obj : error LNK2001: unresolved external symbol _gc_util_delete_parm_blk 
drivendll.obj : error LNK2001: unresolved external symbol _gc_SetUserInfo 
drivendll.obj : error LNK2001: unresolved external symbol _gc_util_insert_parm_val 
drivendll.obj : error LNK2001: unresolved external symbol _gc_GetMetaEvent 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AlarmSourceObjectName 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AlarmSourceObjectID 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AlarmName 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AlarmNumber 
drivendll.obj : error LNK2001: unresolved external symbol _gc_ReleaseCallEx 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AnswerCall 
drivendll.obj : error LNK2001: unresolved external symbol _gc_AcceptCall 
drivendll.obj : error LNK2001: unresolved external symbol _gc_GetCallInfo 
drivendll.obj : error LNK2001: unresolved external symbol _gc_SetAlarmNotifyAll 
drivendll.obj : error LNK2001: unresolved external symbol _gc_GetResourceH 
drivendll.obj : error LNK2001: unresolved external symbol _gc_MakeCall 
drivendll.obj : error LNK2001: unresolved external symbol _gc_OpenEx 
drivendll.obj : error LNK2001: unresolved external symbol _gc_LoadDxParm 
drivendll.obj : error LNK2001: unresolved external symbol [email protected] 
drivendll.obj : error LNK2001: unresolved external symbol [email protected] 
drivendll.obj : error LNK2001: unresolved external symbol [email protected] 
drivendll.obj : error LNK2001: unresolved external symbol _gc_util_insert_parm_ref 
drivendll.obj : error LNK2001: unresolved external symbol _gc_SetCallingNum 
drivendll.obj : error LNK2001: unresolved external symbol _gc_ErrorInfo 
drivendll.obj : error LNK2001: unresolved external symbol _gc_Stop 
Debug/drivendll.dll : fatal error LNK1120: 33 unresolved externals 
Error executing link.exe. 

我知道这个名单很长,但有一件事情有哪些随处都在乱码。我需要你们的紧急帮助。请不要让我失望,让我知道任何解决方案或至少建议,以尽快解决这个问题。

读者,我知道这不是对话论坛,但我正在寻找一些一般的帮助,但任何帮助将不胜感激。

+1

如果其他人很好奇(虽然是eBay),“dmv 960A 4T1pci”是PC板:http://cgi.ebay.com/Dialogic-DM-V960A-4T1-PCI-U-DMV960A- 4T1PCI-Universal-/170624417784 – 2011-04-25 14:00:05

+0

非常有趣的感谢链接布拉德。 – 2011-04-25 14:04:54

回答

4

更新

看来您使用以下库:

http://threebit.net/projects/jvr/download/

确保您链接到相应的库对象的平台,在这里其他的答案中提到。有一个linux版本,一个windows版本和一个java开发jar。确保你在链接器设置中包含了正确的一个。例如,这里是我们如何在eclipse中做到这一点。

http://wiki.eclipse.org/CDT/User/FAQ#How_do_I_add_an_external_library_to_my_C.2B.2B_project.3F

原来的答案*

“解析外部符号”建议,在你的项目中你需要和或使用与一些库类,你是不是正确的,包括在您的项目。无论您在makefile中使用的是哪个IDE,都要确保您已正确包含项目所需的任何库文件。

1

看来你并没有使用正确的编译器。一个DLL只能在基于Windows的系统上工作,看起来编译器无法找到正在使用的电路板上可用的方法和常量。

+0

我正在使用VC++ 6.0,其中原来的C代码已经开发出来了......并且我拥有所有包含头文件和所有文件的文件。你能告诉我究竟是什么问题,因为这个错误在那里? – 2011-04-25 14:21:07

+0

@rahul我发布了一个关于如何解决问题的精确细节的答案。正如你所看到的,我的答案现在已经提升了几次,这应该清楚地表明我至少在正确的轨道上说了些什么。你知道这个说法,哪里有吸烟的火?下面是如何在Visual C++中包含库http://www.tek-tips.com/viewthread.cfm?qid=1454100&page=12 – 2011-04-25 14:42:44

+0

此外,我只提出了这个答案,因为“编译器无法找到方法和常量是可用“部分。 “错误的编译器”不一定是正确的。看起来你更可能没有正确地链接到图书馆。 – 2011-04-25 14:44:07