Newsgroup: it.comp.lang.c++
Titolo: Problemi con i compilartori 2:Approfondimento

Ringrazio Mauro  Casini  e Paolo Marotta per l'interessamento e se avete
ancora voglia di interessarvi al mio caso,
e leggendo i vostri consigli ho notato stupore (lo stesso che ho provato io
dopo la compilazione), vi mando l'insieme degli errori.
Qui' sotto c'e Visual  C++ e più giù l'esito del Borland
--------------------Configuration: lexms - Win32 Debug--------------------
Compiling...
lex.cpp
C:\Documenti\Lt\lex.cpp(190) : error C2065: 'textcolor' : undeclared
identifier                       <conio.h>   l'ho dichiarata
C:\Documenti\Lt\lex.cpp(191) : error C2065: 'textbackground' : undeclared
identifier            <conio.h>   l'ho dichiarata
numbers.cpp
C:\Documenti\Lt\numbers.cpp(14) : error C2375: 'c2d' : redefinition;
different linkage                // mia funzione  l'ho dichiarata
perchè questa mi dà un errore di "ridefinition"
e le altre dichiarate nello stesso *.h no?
C:\Documenti\Lt\numbers.cpp(21) : warning C4804: '<=' : unsafe use of type
'bool' in operation
C:\Documenti\Lt\numbers.cpp(23) : warning C4804: '<=' : unsafe use of type
'bool' in operation
C:\Documenti\Lt\numbers.cpp(25) : warning C4804: '<=' : unsafe use of type
'bool' in operation
C:\Documenti\Lt\numbers.cpp(31) : error C2375: 'd2c' : redefinition;
different linkage                // mia funzione  l'ho dichiarata .....?
C:\Documenti\Lt\numbers.cpp(56) : error C2296: '*' : bad left operand
// la riga incriminata è sotto.
C:\Documenti\Lt\numbers.cpp(77) : error C2440: '=' : cannot convert from
'char (__cdecl *)(int)' to 'unsigned char'
                                               This conversion requires a
reinterpret_cast, a C-style cast or function-style cast
C:\Documenti\Lt\numbers.cpp(82) : error C2440: 'return' : cannot convert
from 'char *' to 'unsigned char *'
                                               Types pointed to are
unrelated; conversion requires reinterpret_cast, C-style cast or
function-style cast
C:\Documenti\Lt\numbers.cpp(83) : error C2561: 'n2s' : function must return
a value                // ???? questa funzione non ci crederete ma ritorna
un valore
Error executing cl.exe.
// non esiste nessun file cl.exe , e sopratutto
// perchè il Borland non lo rileva
lexms.exe - 8 error(s), 3 warning(s)
int s2n(const String s)
{int i=0,num[256],lung;
lung=StrLen(s) ;// inizializzo lung con il valore della lunghezza della
string(pascal-Array)
num[lung+1]=0;//somma
while(s[i+1]!='\0') {num[lung-i] = (c2d(s[i+1])) * (base^(lung-i));i++;};
// questa è la riga incriminata
for(i=1;i<=lung;i++) {num[lung+1]=num[lung+1]+num[i];};
return (num[lung +1]);
};
Info :Building...
Info :Compiling C:\Documenti\LT\elemtab.cpp
Warn :  elemtab.cpp(14,35):Possible use of 'j' before definition
Info :Compiling C:\Documenti\LT\symtab.cpp
Warn :  symtab.cpp(89,3):Parameter 'action' is never used
Info :Compiling C:\Documenti\LT\string.cpp
Info :Compiling C:\Documenti\LT\numbers.cpp
Warn :  numbers.cpp(83,28):Mixing pointers to different 'char' types
Warn :  numbers.cpp(83,28):Possible use of 'Stc' before definition
Info :Compiling C:\Documenti\LT\device.cpp
Warn :  device.cpp(40,15):Possible use of 'i' before definition
Warn :  device.cpp(96,6):'getInputLine()' is declared but never used
Info :Compiling C:\Documenti\LT\lex.cpp
Warn :  lex.cpp(59,7):Possible use of 's' before definition
Warn :  lex.cpp(216,3):'c2d(char)' is declared but never used
Warn :  lex.cpp(216,3):'d2c(int)' is declared but never used
Warn :  lex.cpp(216,3):'LenLex' is declared but never used
Info :Resource compiling C:\Documenti\LT\lex.rc
Info :Transferring to E:\BC5\BIN\tlink.exe @C:\DOCUME~1\LT\LEX.R$P
Error:  (1,1):Undefined symbol SymNode::SymNode(const const unsigned char
far*,const int) in module symtab.cpp// ???? Boooh?
Error:  (1,1):Undefined symbol _base in module numbers.cpp    // sono tutte
extern ,
        perche Visual C++ le riconosce e Borland no?.
Error:  (1,1):Undefined symbol _line in module device.cpp
Error:  (1,1):Undefined symbol _ch in module device.cpp
Error:  (1,1):Undefined symbol _sy in module lex.cpp
Error:  (1,1):Undefined symbol _idTot in module lex.cpp
Error:  (1,1):Undefined symbol _id in module lex.cpp
Error:  (1,1):Undefined symbol _inum in module lex.cpp
Error:  (1,1):Resource binding failed

 // non esiste nessun file cl.exe , e sopratutto
cl.exe dovrebbe essere un pezzo del compilatore (chiamato
automaticamente quando compili qualcosa).
	Mauro

 // perchè il Borland non lo rileva
Perche' il compilatore non si chiama cl.exe e non hanno previstoun messaggio
del genere.
Saluti, Alberto

Non mi sembra che textcolor esista in conio.h.
conio.h non e` standard...
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------