使用VirtualBox SDK之初步编译

VirtualBox成功编译出来后,在生成的out文件夹中会发现有SDK文件夹(当然也可以直接从官网SDK),里面有例子,但是直接用Visual Studio编译的话会出一大堆错误,本文就是讲解如何使之编译通过。

如果使用Visual Studio直接建立工程,把例子CPP(VirtualBox-4.2.8outwin.x86 eleaseinsdkindingsmscomsamples stVBoxAPIWin.cpp)导入工程中,build时会出现以下错误:

1>Linking...
1>main.obj : error LNK2001: unresolved external symbol _CLSID_Session
1>main.obj : error LNK2001: unresolved external symbol _IID_ISession
1>main.obj : error LNK2001: unresolved external symbol _CLSID_VirtualBox
1>main.obj : error LNK2001: unresolved external symbol _IID_IVirtualBox

这时只需要include它lib下的tlb文件(这一步并不是必须的,但是为了将来使用VirtualBox SDK方便,建议先加上):

#import "C:VirtualBoxVirtualBox-4.2.8outwin.x86
eleaseinsdkindingsmscomlibVirtualBox.tlb" rename_namespace("NBVirtualBox")

并把lib文件夹下的“VirtualBox_i.c”添加到工程中参与build,就可以成功编译了,例子程序的输出:

Name: WinXP
Successfully retrieved error description: Could not find a registered machine named 'Foobar'

http://www.cnblogs.com/cxun/archive/2013/03/18/2965580.html

原文地址:https://www.cnblogs.com/findumars/p/5543066.html