Ho 3 macchine di costruzione. Uno in esecuzione su Windows 2000, uno con XP SP3 e uno con Windows Server a 64 bit 2008. E ho un progetto C++ nativo da compilare (sto costruendo con Visual Studio 2005 SP1). Il mio obiettivo è quello di costruire "esattamente" la stessa dll usando queste macchine di compilazione.Costruzione identica su diversi sistemi
Con precisione intendo bit per bit (ad eccezione del timestamp di build, ovviamente).
Con win2k e winxp ricevo le dll identiche. Ma differiscono da dll costruito con win2008 server. Sono riuscito a ottenere dll quasi identici, ma ci sono alcune differenze. Dopo aver smontato i file, ho scoperto che l'ordine delle funzioni non è lo stesso (3 funzioni sono in ordine diverso).
Qualcuno sa quale potrebbe essere la ragione?
E una domanda a lato: In vcbuild.exe ho trovato un interruttore/ORDINE. Che accetta come file il file di ordine delle funzioni. Qualcuno sa come dovrebbe essere quel file?
Hai provato a eseguire VS in modalità di compatibilità a 32 bit (o come si chiama)? – Makis
Deve essere eseguito in compat 32 bit, non esiste una versione a 64 bit di Visual Studio AFAIK – ppiotrowicz
1. La macchina Server 2008 esegue una CPU diversa? (Una volta ho visto un problema simile in cui una macchina AMD ha prodotto un output leggermente diverso da INTEL, strano ma vero). 2. Avete controllato gli aggiornamenti installati per vedere se qualcosa ha cambiato componenti VS? –