Преобразование исходного кода c в dll - PullRequest
0 голосов
/ 25 апреля 2011

Я пытаюсь запустить код, который написан с использованием C и предназначен для диалоговой доски dmv 960A 4T1pci. Я пытаюсь преобразовать этот код в DLL, но я сталкиваюсь с 34 ошибками, которые почти одинаковы, вот их список:

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 __imp__inet_ntoa@4
drivendll.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
drivendll.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
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.

Я знаю, что этот список длинный, но есть только одна вещь, которая повсюду мешает с кодом. Мне нужна СРОЧНАЯ помощь от вас, ребята. Пожалуйста, не подводите меня, и дайте мне знать любое решение или хотя бы предложение, чтобы решить это как можно скорее.

Читатели, я знаю, что это не диалогический форум, но я ищу какую-то общую помощь, но любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 25 апреля 2011

Обновление

Похоже, вы используете следующую библиотеку:

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

Убедитесь, что вы ссылаетесь на соответствующий объект библиотекидля вашей платформы, как упомянуто здесь в другом ответе.Существует версия для Linux, версия для Windows и jar для java dev.Убедитесь, что вы включили правильный в настройках компоновщика.Например, вот как мы могли бы сделать это в затмении.

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

Оригинальный ответ *

«неразрешенный внешний символ» предлагаетчто в вашем проекте вы требуете или используете классы, связанные с какой-то библиотекой, которую вы не правильно включили в свой проект.Какой бы IDE вы ни использовали ИЛИ в своих make-файлах, убедитесь, что вы правильно включили все библиотечные файлы, необходимые для вашего проекта.

1 голос
/ 25 апреля 2011

Кажется, вы не используете правильный компилятор.DLL должна работать только в системах на базе Windows, и кажется, что компилятор не может найти методы и константы, доступные на плате, с которой вы работаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...