2011-04-25 144 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