VS8.. tu veux dire VC2005 ?
En quoi créer une DLL te permettra d'éviter ton problème, ça sera toujours le même compilo ...
mais vu que je ne suis pas sûr de bien avoir compris le problème je vais quand même répondre à la question: de la même manière que pour quoi que ce soit d'autre :)
Tu fais ton .h ou .hpp qui définit ta/tes classes. Tu fais le .cpp qui correspond, tu compiles le tout en dll ( pour ça faut voir les options du linker, normalement ça se règle dans l'IDE à la création du projet : create new dll )
Regle le linker pour qu'il produise la dll dans le rep de l'exe.
Dans le projet du .exe tu fais un #include vers le .h, tu linkes avec le .lib que t'a donné la compil de la dll, et roulez jeunesse . Il n'y a qu'un define à faire dans le cpp qui fait l'include.
Attention ! le name mangling du C++ n'est absolument pas normalisé. Ca veut dire que dans le .lib, si tu compiles avec un compilo l'étiquette sera du genre __classe@@function_lkjh alors qu'avec un autre ça sera _@function&class_int_float , je dis ça parfaitement au hasard hein. Conclusion : prendre le même compilo pour la dll et le .exe qui l'utilise.
_______________________