скомпилировать программу vmci - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь скомпилировать пример программы vmware vmci. Программа разделена на две части

а) модуль ядра б) пример программы дейтаграмм

Когда я скомпилировал эту программу дейтаграмм, я получил следующие ошибки:

gcc -I headers_path datagramApp.c
/tmp/cc6KkQ4a.o: In function `main':
datagramApp.c:(.text+0x16c): undefined reference to `VMCI_InitApp'
datagramApp.c:(.text+0x1be): undefined reference to `VMCI_CleanupApp'
/tmp/cc6KkQ4a.o: In function `DoDatagramServer':
datagramApp.c:(.text+0x1e6): undefined reference to `VMCIDatagram_CreateHnd'
datagramApp.c:(.text+0x24f): undefined reference to `VMCIDs_Lookup'
datagramApp.c:(.text+0x2d7): undefined reference to `VMCIResource_AddClientPrivileges'
datagramApp.c:(.text+0x333): undefined reference to `VMCIDs_Register'
datagramApp.c:(.text+0x3bf): undefined reference to `VMCIDatagram_RecvFrom'
datagramApp.c:(.text+0x44f): undefined reference to `VMCIDatagram_SendTo'
datagramApp.c:(.text+0x4a8): undefined reference to `VMCIDs_Unregister'
datagramApp.c:(.text+0x4c0): undefined reference to `VMCIDatagram_DestroyHnd'
/tmp/cc6KkQ4a.o: In function `DoDatagramClient':
datagramApp.c:(.text+0x505): undefined reference to `VMCIDs_Lookup'
datagramApp.c:(.text+0x563): undefined reference to `VMCIDatagram_CreateHnd'
datagramApp.c:(.text+0x608): undefined reference to `VMCIResource_AddClientPrivileges'
datagramApp.c:(.text+0x680): undefined reference to `VMCIDatagram_SendTo'
datagramApp.c:(.text+0x6b8): undefined reference to `VMCIDatagram_RecvFrom'
datagramApp.c:(.text+0x6f7): undefined reference to `VMCIDatagram_DestroyHnd'

TNX

1 Ответ

0 голосов
/ 20 апреля 2011

Вам необходимо связаться с (общим) объектом, чтобы получить пользовательский интерфейс VMCI

AFAICT - это собственный API от Vmware (?), Который вы должны установить [1]

Типичная строка компиляции будет выглядеть примерно так:

gcc -I <headers_path> datagramApp.c -lvmci

Примечания

  • заменить header_path чем-то вроде (в зависимости от того, где был построен модуль)
    • / USR / SRC / Linux / включать
    • / Opt / VMware / включают
  • -lvmci предполагает наличие файла libvmci.so в пути к вашей библиотеке (не забудьте sudo ldconfig -a, при необходимости включите -L/path/to/libs, чтобы gcc / ld нашел) их

[1] возможно как часть выборочной установки VMware Tools ?

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