Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Errores de compilación desconocidos

Estas en el tema de Errores de compilación desconocidos en el foro de C/C++ en Foros del Web. Hola, estoy intentando compilar un módulo de apache y el problema es que me dan los siguientes errores de compilación: Código: 1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(511) : warning C4013: ...
  #1 (permalink)  
Antiguo 23/09/2009, 04:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Exclamación Errores de compilación desconocidos

Hola, estoy intentando compilar un módulo de apache y el problema es que me dan los siguientes errores de compilación:

Código:
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(511) : warning C4013: 'APR_XtOffsetOf' sin definir; se supone que extern devuelve como resultado int
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(511) : error C2143: error de sintaxis : falta ')' delante de 'tipo'
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(515) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(519) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(523) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(527) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(531) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(535) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(539) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(543) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(547) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(551) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(555) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(559) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(563) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(567) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(571) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(575) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(579) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(583) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(587) : error C2059: error de sintaxis : ','
1>c:\httpd-2.2.13\modules\mod_auth_mysql-2.9.0\mod_auth_mysql.c(590) : error C2059: error de sintaxis : '}'
El codigo que provoca los errores es:
Código:
#ifdef APACHE2
static
command_rec mysql_auth_cmds[] = {
	AP_INIT_TAKE1("AuthMySQLHost", ap_set_string_slot,
	((void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost)),
	OR_AUTHCFG, "mysql server host name"),

	AP_INIT_TAKE1("AuthMySQLPort", ap_set_int_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlport),
	OR_AUTHCFG, "mysql server port number"),

	AP_INIT_TAKE1("AuthMySQLSocket", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlsocket),
	OR_AUTHCFG, "mysql server socket path"),

	AP_INIT_TAKE1("AuthMySQLUser", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqluser),
	OR_AUTHCFG, "mysql server user name"),

	AP_INIT_TAKE1("AuthMySQLPassword", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpasswd),
	OR_AUTHCFG, "mysql server user password"),

	AP_INIT_TAKE1("AuthMySQLDB", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlDB),
	OR_AUTHCFG, "mysql database name"),

	AP_INIT_TAKE1("AuthMySQLUserTable", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpwtable),
	OR_AUTHCFG, "mysql user table name"),

	AP_INIT_TAKE1("AuthMySQLGroupTable", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlgrptable),
	OR_AUTHCFG, "mysql group table name"),

	AP_INIT_TAKE1("AuthMySQLNameField", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNameField),
	OR_AUTHCFG, "mysql User ID field name within table"),

	AP_INIT_TAKE1("AuthMySQLGroupField", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupField),
	OR_AUTHCFG, "mysql Group field name within table"),

	AP_INIT_TAKE1("AuthMySQLPasswordField", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlPasswordField),
	OR_AUTHCFG, "mysql Password field name within table"),

	AP_INIT_TAKE1("AuthMySQLPwEncryption", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEncryptionField),
	OR_AUTHCFG, "mysql password encryption method"),

	AP_INIT_TAKE1("AuthMySQLSaltField", ap_set_string_slot,
	(void*) APR_XtOffsetOf(mysql_auth_config_rec, mysqlSaltField),
	OR_AUTHCFG, "mysql salfe field name within table"),
	
	AP_INIT_FLAG("AuthMySQLKeepAlive", ap_set_flag_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlKeepAlive),
	OR_AUTHCFG, "mysql connection kept open across requests if On"),

	AP_INIT_FLAG("AuthMySQLAuthoritative", ap_set_flag_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlAuthoritative),
	OR_AUTHCFG, "mysql lookup is authoritative if On"),

	AP_INIT_FLAG("AuthMySQLNoPasswd", ap_set_flag_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNoPasswd),
	OR_AUTHCFG, "If On, only check if user exists; ignore password"),

	AP_INIT_FLAG("AuthMySQLEnable", ap_set_flag_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEnable),
	OR_AUTHCFG, "enable mysql authorization"),

	AP_INIT_TAKE1("AuthMySQLUserCondition", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlUserCondition),
	OR_AUTHCFG, "condition to add to user where-clause"),

	AP_INIT_TAKE1("AuthMySQLGroupCondition", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupCondition),
	OR_AUTHCFG, "condition to add to group where-clause"),

	AP_INIT_TAKE1("AuthMySQLCharacterSet", ap_set_string_slot,
	(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlCharacterSet),
	OR_AUTHCFG, "mysql character set to be used"),

  { NULL }
};
Incluyo las respectivas definiciones de AP_INIT_TAKE1,OR_AUTHCFG:

Código:
# define AP_INIT_TAKE1(directive, func, mconfig, where, help) \
    { directive, func, mconfig, where, TAKE1, help }

#define OR_AUTHCFG 8         /**< *.conf inside <Directory> or <Location>
				and .htaccess when AllowOverride AuthConfig */
APR_XtOffsetOf no está definido en código (no se si lo estará en alguna cabecera "include")

Un saludo y gracias.

Como es un código distribuido, no se muy bien el funcionamiento de muchas cosas, pero si es necesario adjuntaría más partes del código, pongo esto en principio x si hubiera algo mal que no veo.
  #2 (permalink)  
Antiguo 23/09/2009, 13:46
Avatar de Slackin  
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Errores de compilación desconocidos

Saludos.. He mirado algo tu código.
Me imagino que la 511 es:
Código:
#ifdef APACHE2
static
command_rec mysql_auth_cmds[] = {
	AP_INIT_TAKE1("AuthMySQLHost", ap_set_string_slot,
	((void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost)),
	OR_AUTHCFG, "mysql server host name"),
Parece que tu le colocaste algunos parentesis ahí.¿o no?."((void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost))"..intenta quitarle esos parentesis redundates y dejalo "(void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost)".
  #3 (permalink)  
Antiguo 27/09/2009, 22:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Errores de compilación desconocidos

Buenas primero que nada saca los parentesis de mas que te menciono Slackin, despues fijate que las lineas de codigo terminan en punto y coma ";" no en coma "," y aparte de eso al final de todo {NULL} confunde al compilador con las llaves, no mire muy bien cual es el proposito de ese NULL entre llaves ahi pero trata de cambiarlas por parentesis o corchetes de ultima.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.