How to generate an unique id number for each app installation

Hi, I want to generate a individual id number for each app installation of my app, I want to use this id number to create a leaderboard.
For android a find this snippet of code in
[[http://android-developers.blogspot.com.br/2011/03/identifying-app-installations.html]]

public class Installation {
    private static String sID = null;
    private static final String INSTALLATION = "INSTALLATION";

    public synchronized static String id(Context context) {
        if (sID == null) {  
            File installation = new File(context.getFilesDir(), INSTALLATION);
            try {
                if (!installation.exists())
                    writeInstallationFile(installation);
                sID = readInstallationFile(installation);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
        return sID;
    }

    private static String readInstallationFile(File installation) throws IOException {
        RandomAccessFile f = new RandomAccessFile(installation, "r");
        byte[] bytes = new byte[(int) f.length()];
        f.readFully(bytes);
        f.close();
        return new String(bytes);
    }

    private static void writeInstallationFile(File installation) throws IOException {
        FileOutputStream out = new FileOutputStream(installation);
        String id = UUID.randomUUID().toString();
        out.write(id.getBytes());
        out.close();
    }
}

This code is sufficient for android, but I want to create a c*+ code to use for ios and other plataforms, but I don’t know how because I’m a c*+ newbie.
Any help will be appreciated, thanks

How to generate GUID ?

This is so old, but I just needed the same thing and used this: https://github.com/graeme-hill/crossguid which works a treat and does not involve using boost.