Aru*_*cer 2 c++ com virtualbox
我在看Virtual Box的例子.我很快尝试触发以下代码,但是我收到了与COM相关的错误.
//#include "VirtualBox.h"
#include "rpc.h"
#include
int main(int argc, char *argv[])
{
HRESULT rc;
// IVirtualBox *virtualBox;
do
{
/* Initialize the COM subsystem. */
CoInitialize(NULL);
/* Instantiate the VirtualBox root object. */
// rc = CoCreateInstance(CLSID_VirtualBox, /* the VirtualBox base object */
// NULL, /* no aggregation */
// CLSCTX_LOCAL_SERVER, /* the object lives in a server process on this machine */
// IID_IVirtualBox, /* IID of the interface */
// (void**)&virtualBox);
if (!SUCCEEDED(rc))
{
printf("Error creating VirtualBox instance! rc = 0x%x\n", rc);
break;
}
} while (0);
//CoUninitialize();
return 0;
printf("Hello, world\n");
return 0;
And the error I have got is:
<pre>
E:\vbox\mscom\samples>g++ -I E:\vbox\mscom\include -Wall helloworld.cpp -o helloworld.exe
helloworld.cpp: In function 'int main(int, char**)':
helloworld.cpp:26: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'HRESULT'
helloworld.cpp:24: warning: 'rc' is used uninitialized in this function
C:\Users\AKANTH~1.ADO\AppData\Local\Temp\ccCmOygi.o:helloworld.cpp:(.text+0x1e): undefined reference to `_imp__CoInitialize@4'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
seh*_*ehe 10
尝试
g++ -I E:\vbox\mscom\include -Wall helloworld.cpp -o helloworld.exe -lole32 -loleaut32
Run Code Online (Sandbox Code Playgroud)
参考
你需要链接ole32.dll(" - lole32").要链接到它,您需要安装它的导入库(ole32.lib),并在搜索路径中.我假设您可能需要安装Windows SDK.
| 归档时间: |
|
| 查看次数: |
6127 次 |
| 最近记录: |