Dear all,
i'm trying to access to my grass data without launching an active grass session with a c program. I'm encoutering issues with the GRASS environment variables definitions.
Here my C script

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

extern "C" {

#include <grass/config.h>
#include <grass/gis.h>
#include <grass/Vect.h>
#include <grass/glocale.h>
#include <grass/dbmi.h>
}


int main(int argc, char *argv[])
{
char name[GNAME_MAX],gisdbase[GNAME_MAX],location[GNAME_MAX],mapset[GNAME_MAX];
   struct Map_info In;
// Setting the grass environment
   G__setenv("GISDBASE","/home/rabotin/grassdata");
   G__setenv("LOCATION_NAME","Roujan");
   G__setenv("MAPSET","PERMANENT");
   G__setenv("MAPSET","simon9");

G_gisinit(argv[0]);
   std::cout << G_getenv(G_gisdbase()) << std::endl;
   std::cout << G_getenv(G_location()) << std::endl;
   std::cout << G_getenv(G_mapset()) << std::endl;
}

When launshing this script in command terminal (outside an active grass session), I've got a segmentation fault.

Does anybody try to access grassdata with C program without launching a grass session ? And does anybody can share with me the solutions he found to solve same issues ?

Thanks in advance

Michael Rabotin

--
*********************************

Michaël Rabotin
Ingénieur d'étude en géomatique

Laboratoire d'étude des Interactions Sol, Agrosystème et Hydrosystème
UMR LISAH SupAgro-INRA-IRD
Bat. 24
2 place Viala
34060 Montpellier cedex 1 FRANCE

Téléphone :  33 (0)4 99 61 23 85
Secrétariat : 33 (0)4 99 61 22 61
Fax : 33 (0)4 67 63 26 14
E-mail : [email protected]

*********************************

_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to