Ein neues Thema erstellen  Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 01.01.2003, 20:56 

Registriert: 06.01.2002, 01:00
Beiträge: 415
Wohnort: nicht weit weg von Köln
Gibt es einen solchen ? Ich würde mir gerne eine Batchdatei schreiben die eine SMA kompiliert und danach sofort in eine Linux AMX umwandelt. Dazu brauche ich allerdings einen komandozeilenbasierten Konverter. Oder ist gar der Quellcode verfügbar, dann könnte ich versuchen mir selber einen zu programmieren ?!

Bio

_________________
It's not a bug, it's a feature !


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01.01.2003, 22:09 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Sorry, ist mir nicht bekannt. Frag mal im .org Forum. Vielleicht kennt da jemand den Author.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 01.01.2003, 22:17 

Registriert: 06.01.2002, 01:00
Beiträge: 415
Wohnort: nicht weit weg von Köln
Ok, danke für den Tip.

Bio

_________________
It's not a bug, it's a feature !


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 02.01.2003, 23:01 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Nein, gibt es nicht, obwohl Ramirez das auch schon vor Ewigkeiten mal angeregt hatte. Aber mir wurde die Fummelei zu doof, die "getopt" Bibliothek unter M$VC kompiliert zu bekommen.
Vielleicht setz' ich mich irgendwann nochmal dran, wenn ich zuviel Zeit habe.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 02.01.2003, 23:50 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Vielleicht setzt sich ja mal einer dran und macht einheitliche Plugins für beide Betriebssysteme. Ich meine mich da an eine Diskussion zu erinnern.
BTW, wer sagt denn, dass die gesamte Programmierarbeit an Dir hängen bleibt. Ich habe das Gefühl, dass auf der Experimental Seite die Leute schon mit den Hufen scharren.
Lass die mal machen und nimm das auf, was funktioniert. ;)

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 09:04 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Die Konverter haben ja mit dem Rest nicht soviel zu tun. Ich glaube der Code liegt nicht mal im CVS.

Das es noch keine OS-unabhaengigen Scripte gibt, ist kein technisches Problem sondern ein Politikum. Technisch gibt es das schon seit einem Jahr. Nur die Freigabe des ganzen wird sich noch verzoegern, da das mit anderen Aenderungen einher gehen soll.

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 14:44 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Windows CLI version ist jetzt verfuegbar unter http://www.adminmod.org/index.php?go=downloads

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 15:27 

Registriert: 06.01.2002, 01:00
Beiträge: 415
Wohnort: nicht weit weg von Köln
Die Sourcen liegen auf dem CVS Server (im Attic), ich hab mir selbige auch schon heruntergeladen und versucht sie mit Visual C ++ zu kompilieren. Allerdings bin ich vor jenes Problem gestoßen was daRope schon angesprochen hat. Der Kompiler meldet mir folgenden Fehler:
Code:
main_sa.cpp(54) : error C2660: 'getopt_long' : Funktion akzeptiert keine 5 Parameter
Ich habe folgende getopt.h benutzt:
Code:
/* Declarations for getopt.
   Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

#ifndef _GETOPT_H
#define _GETOPT_H 1

#ifdef	__cplusplus
extern "C" {
#endif

/* For communication from `getopt' to the caller.
   When `getopt' finds an option that takes an argument,
   the argument value is returned here.
   Also, when `ordering' is RETURN_IN_ORDER,
   each non-option ARGV-element is returned here.  */

extern char *optarg;

/* Index in ARGV of the next element to be scanned.
   This is used for communication to and from the caller
   and for communication between successive calls to `getopt'.

   On entry to `getopt', zero means this is the first call; initialize.

   When `getopt' returns -1, this is the index of the first of the
   non-option elements that the caller should itself scan.

   Otherwise, `optind' communicates from one call to the next
   how much of ARGV has been scanned so far.  */

extern int optind;

/* Callers store zero here to inhibit the error message `getopt' prints
   for unrecognized options.  */

extern int opterr;

/* Set to an option character which was unrecognized.  */

extern int optopt;

/* Describe the long-named options requested by the application.
   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
   of `struct option' terminated by an element containing a name which is
   zero.

   The field `has_arg' is:
   no_argument		(or 0) if the option does not take an argument,
   required_argument	(or 1) if the option requires an argument,
   optional_argument 	(or 2) if the option takes an optional argument.

   If the field `flag' is not NULL, it points to a variable that is set
   to the value given in the field `val' when the option is found, but
   left unchanged if the option is not found.

   To have a long-named option do something other than set an `int' to
   a compiled-in constant, such as set a value from `optarg', set the
   option's `flag' field to zero and its `val' field to a nonzero
   value (the equivalent single-letter option character, if there is
   one).  For long options that have a zero `flag' field, `getopt'
   returns the contents of the `val' field.  */

struct option
{
#if defined (__STDC__) && __STDC__
  const char *name;
#else
  char *name;
#endif
  /* has_arg can't be an enum because some compilers complain about
     type mismatches in all the code that assumes it is an int.  */
  int has_arg;
  int *flag;
  int val;
};

/* Names for the values of the `has_arg' field of `struct option'.  */

#define	no_argument		0
#define required_argument	1
#define optional_argument	2

#if defined (__STDC__) && __STDC__
#ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
   differences in the consts, in stdlib.h.  To avoid compilation
   errors, only prototype getopt for the GNU C library.  */
extern int getopt (int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
extern int getopt ();
#endif /* __GNU_LIBRARY__ */
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
		        const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
			     const char *shortopts,
		             const struct option *longopts, int *longind);

/* Internal only.  Users should not call this directly.  */
extern int _getopt_internal (int argc, char *const *argv,
			     const char *shortopts,
		             const struct option *longopts, int *longind,
			     int long_only);
#else /* not __STDC__ */
extern int getopt ();
extern int getopt_long ();
extern int getopt_long_only ();

extern int _getopt_internal ();
#endif /* __STDC__ */

#ifdef	__cplusplus
}
#endif

#endif /* _GETOPT_H */
Hat gemand eine Idee was falsch sein könnte ?

Bio

** edit **

Danke für die CLI Version für Windows, daRope. Ich würde denoch gerne wissen was ich falsch gemacht habe.

_________________
It's not a bug, it's a feature !


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 16:35 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Setze doch mal das Flag __STDC__ (z.B. mit #define __STDC__ 1) und probiere ob es damit geht. Vielleicht hast Du Glück und Deine verwendete Lib hat die Funktion mit 5 Parametern implementiert.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 17:22 

Registriert: 06.01.2002, 01:00
Beiträge: 415
Wohnort: nicht weit weg von Köln
Habe ich gerade gemacht, leider führte das zu folgenden Fehlermeldungen:
Code:
Temporäre Dateien und Ausgabedateien für "AMX_converter - Win32 Debug" werden gelöscht.
--------------------Konfiguration: AMX_converter - Win32 Debug--------------------
Kompilierung läuft...
main_sa.cpp
Linker-Vorgang läuft...
main_sa.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int __cdecl convert_file(char const *,char const *,int,long)" (?convert_file@@YAHPBD0HJ@Z)
main_sa.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int __cdecl check_file_type(char const *,long &)" (?check_file_type@@YAHPBDAAJ@Z)
main_sa.obj : error LNK2001: Nichtaufgeloestes externes Symbol _optind
main_sa.obj : error LNK2001: Nichtaufgeloestes externes Symbol _getopt_long
Debug/AMX_converter.exe : fatal error LNK1120: 4 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

AMX_converter.exe - 5 Fehler, 0 Warnung(en)
Bio

_________________
It's not a bug, it's a feature !


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03.01.2003, 20:13 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Tja, dann gehts wohl nicht. Die Lib hast du ja hoffentlich beim Linker mit angegeben...

Dann kannst Du max. in der main_sa.cpp in der Zeile 54 den Code so umschreiben, dass die ganze Sache ohne Parameter funktioniert...


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 11 Beiträge ] 


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"