Friday, 23 December 2016

c++ - undefined reference to _imp__CoInitialize@4

I was looking at Virtual Box examples. I quickly tried to fire the following code but I got the error related to 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:

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

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...