/**
* Code permettant de réaliser un exectuable pour un code java
* aussi bien sur Windows ou sur Linux
*
* Auteur : Jérôme Baudoux
* www.jerome-baudoux.com
*/
#include <iostream>
#include <string>
#include <sstream>
#if defined(__WIN32__)
#include <windows.h>
#else
#include <stdlib.h>
#include <stdio.h>
#endif
// -------------------------------------------------------------------------------------
// ICI REMPLACER "monPackage.MaClasse" par votre CLasse Java
// -------------------------------------------------------------------------------------
#define COMMANDE_JAVA "package.Classe"
#define BIN_FOLDER "bin"
int main( int argc, char ** argv )
{
std::ostringstream param;
#if ! defined(__WIN32__)
param << "java ";
#endif
// DEFINI LE PATH
{
std::string path = std::string(argv[0]);
size_t slash = path.find_last_of("/\\");
param << "-cp \"";
if( slash > 0 )
param << path.substr(0,slash+1);
param << "BIN_FOLDER\" " << COMMANDE_JAVA;
}
// AJOUTE LES ARGUMENTS
for(int i=1;i<argc;i++)
param << " " << argv[i];
// LANCE L'APPLICATION
#if defined(__WIN32__)
ShellExecute(
0,
NULL,
"java",
param.str().c_str(),
0,
SW_HIDE);
#else
system(param.str().c_str());
#endif
return 0;
}