VirtualBox成功編譯出來后,在生成的out文件夾中會發現有SDK文件夾(當然也可以直接從官網下SDK),里面有例子,但是直接用Visual Studio編譯的話會出一大堆錯誤,本文就是講解如何使之編譯通過。
如果使用Visual Studio直接建立工程,把例子CPP(\VirtualBox-4.2.8\out\win.x86\release\bin\sdk\bindings\mscom\samples\tstVBoxAPIWin.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:\VirtualBox\VirtualBox-4.2.8\out\win.x86\release\bin\sdk\bindings\mscom\lib\VirtualBox.tlb" rename_namespace("NBVirtualBox")
並把lib文件夾下的“VirtualBox_i.c”添加到工程中參與build,就可以成功編譯了,例子程序的輸出:
Name: WinXP Successfully retrieved error description: Could not find a registered machine named 'Foobar'