Bonjour,
je viens de récupérer un ensemble de batchs en c++ compilés sur une machine en solaris 8 avec le compilateur de Sun WorkShop 6 (update 2 C++ 5.3 Patch 111685-20 2004/03/19). Hélas je ne dispose pas de ce compilateur. Je suis en train de télécharger sun studio 11 pour éventuellement l'installer sur mon serveur solaris ... mais ce n'est pas vraiment ça qui m'intéresse (pas besoin d'un ide complet juste du compilateur... et puis pas d'interface graphique sur ce serveur).

J'aimerais savoir si je peux avoir un compilateur parfaitement compatible qui me permette au moins de tester l'état actuel de fonctionnement des batchs sans installer une usine à gaz.

J'ai installé gcc mais je rencontre pour l'instant des erreurs et warnings à la compilation qui ne se présentaient pas à la compilation avec sun workshop. (ci après les logs de compilation) Je préfèrerais me garantir en utilisant le compilateur d'origine si possible.

Merci pour vos contributions.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/usr/local/bin/gcc    -c -fPIC -Ieqbldll  -I/usr/openwin/include  -I/usr/dt/include  -I/sybase/s12501_2/OCS-12_5/include -o /export/envReinette/hom/eq1/eq1adm/up/07_00_00.000/horsversion/batch/dev_release/eqbcconn.o eqbldll/eqbcconn.cpp
In file included from eqbldll/eqbccont.h:35,
                 from eqbldll/eqbcconn.h:29,
                 from eqbldll/eqbcconn.cpp:31:
eqbldll/StdString.h: In function `int ssvsprintf(wchar_t*, size_t, const wchar_t*, void*)':
eqbldll/StdString.h:1627: error: invalid conversion from `const wchar_t*' to `size_t'
eqbldll/StdString.h:1627: error: invalid conversion from `void*' to `const wchar_t*'
/usr/include/iso/wchar_iso.h:193: error: too few arguments to function `int vswprintf(wchar_t*, size_t, const wchar_t*, void*)'
eqbldll/StdString.h:1627: error: at this point in file
eqbldll/StdString.h: In member function `CT* CStdStr<CT>::GetBuf(int)':
eqbldll/StdString.h:2325: error: there are no arguments to `size' that depend on a template parameter, so a declaration of `size' must be available
eqbldll/StdString.h:2325: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
eqbldll/eqbcconn.cpp: In member function `BOOL C_Connexion::ExecuterFichierCommande(CString)':
eqbldll/eqbcconn.cpp:265: error: `nocreate' is not a member of `std::ios'
eqbldll/eqbcconn.cpp: In member function `BOOL C_Connexion::LireColonneSuivante(CS_INT&)':
eqbldll/eqbcconn.cpp:1251: warning: converting to non-pointer type `long int' from NULL
eqbldll/eqbcconn.cpp: In member function `BOOL C_Connexion::EcrireCorpsErreur()':
eqbldll/eqbcconn.cpp:1728: warning: passing NULL used for non-pointer converting 1 of `std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>]'
*** Error code 1
make: Fatal error: Command failed for target `/export/envReinette/hom/eq1/eq1adm/up/07_00_00.000/horsversion/batch/dev_release/eqbcconn.o'