AdminMod.de
https://www.adminmod.de/

Komandozeilenbasierter AMX Konverter für Windows ?
https://www.adminmod.de/viewtopic.php?t=4585
Seite 1 von 1

Autor:  Biohazard1 [ 01.01.2003, 20:56 ]
Betreff des Beitrags:  Komandozeilenbasierter AMX Konverter für Windows ?

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

Autor:  [WING] Black Knight [ 01.01.2003, 22:09 ]
Betreff des Beitrags: 

Sorry, ist mir nicht bekannt. Frag mal im .org Forum. Vielleicht kennt da jemand den Author.

Autor:  Biohazard1 [ 01.01.2003, 22:17 ]
Betreff des Beitrags: 

Ok, danke für den Tip.

Bio

Autor:  daRope [ 02.01.2003, 23:01 ]
Betreff des Beitrags: 

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.

Autor:  [WING] Black Knight [ 02.01.2003, 23:50 ]
Betreff des Beitrags: 

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. ;)

Autor:  daRope [ 03.01.2003, 09:04 ]
Betreff des Beitrags: 

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.

Autor:  daRope [ 03.01.2003, 14:44 ]
Betreff des Beitrags: 

Windows CLI version ist jetzt verfuegbar unter http://www.adminmod.org/index.php?go=downloads

Autor:  Biohazard1 [ 03.01.2003, 15:27 ]
Betreff des Beitrags: 

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.

Autor:  Warhead [ 03.01.2003, 16:35 ]
Betreff des Beitrags: 

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.

Autor:  Biohazard1 [ 03.01.2003, 17:22 ]
Betreff des Beitrags: 

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

Autor:  Warhead [ 03.01.2003, 20:13 ]
Betreff des Beitrags: 

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...

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/