Beste mensen, wat is volgens jullie de juiste manier om binnen de VS.NET IDE het volgende te realiseren:
Ik heb een client/server-applicatie in 1 "solution". Hierin heb ik momenteel 2 "projecten", een Client project en een Server project, die beide een aparte executable moeten opleveren. Alhoewel deze projecten voor het grootste deel verschillende bestanden nodig hebben, bestaat er een overlap van een klein aantal klassen, functies en typen, laten we dit de Shared classes noemen.
Nu wil ik mijn solution zo indelen, dat zowel het Client als het Server-project gebruik kunnen maken van deze Shared classes. Hoe krijg ik dit correct voor elkaar?
Het volgende geldt ook voor de Client, maar ik neem nu de Server als voorbeeld.
Mijn poging was als volgt: Ik heb naast de Client en Server projecten nog een derde project Shared toegevoegd, die als library (.lib) wordt gelinkt (alhoewel dit voor mij geen vereiste is, direct tegen de .obj-files van het Shared-project linken is ook prima wmb). Ik wil echter niet elke .obj-file van het Shared-project apart hoeven specificeren in het Server-project. Elk van deze projecten heb ik in een aparte directory gezet binnen de solution-directory (dit leek me wel zo overzichtelijk).
Het Server-project included header-files uit het Shared-project; het compilen gaat goed, voor alledrie de projecten. Met het linken van de Server mist de linker echter de symbolen die in het Shared-project worden geimplementeerd. Ik heb toen geprobeerd om het Shared-project een dependency te maken van de Server, dit resulteert erin dat het Shared-project als eerste wordt gebuild, maar de linker blijft klagen.
Nu heb ik in het Server-project aangegeven dat de .lib van het Shared-project meegelinkt moet worden (Linker/Input/Additional dependencies = <lib-file>), maar de linker blijft klagen. Misschien moet ik de gebruikte Shared-symbolen nog op een of andere manier exporteren ofzo?
Wie kan mij wegwijs maken?
Alvast bedankt.
Ik heb een client/server-applicatie in 1 "solution". Hierin heb ik momenteel 2 "projecten", een Client project en een Server project, die beide een aparte executable moeten opleveren. Alhoewel deze projecten voor het grootste deel verschillende bestanden nodig hebben, bestaat er een overlap van een klein aantal klassen, functies en typen, laten we dit de Shared classes noemen.
Nu wil ik mijn solution zo indelen, dat zowel het Client als het Server-project gebruik kunnen maken van deze Shared classes. Hoe krijg ik dit correct voor elkaar?
Het volgende geldt ook voor de Client, maar ik neem nu de Server als voorbeeld.
Mijn poging was als volgt: Ik heb naast de Client en Server projecten nog een derde project Shared toegevoegd, die als library (.lib) wordt gelinkt (alhoewel dit voor mij geen vereiste is, direct tegen de .obj-files van het Shared-project linken is ook prima wmb). Ik wil echter niet elke .obj-file van het Shared-project apart hoeven specificeren in het Server-project. Elk van deze projecten heb ik in een aparte directory gezet binnen de solution-directory (dit leek me wel zo overzichtelijk).
Het Server-project included header-files uit het Shared-project; het compilen gaat goed, voor alledrie de projecten. Met het linken van de Server mist de linker echter de symbolen die in het Shared-project worden geimplementeerd. Ik heb toen geprobeerd om het Shared-project een dependency te maken van de Server, dit resulteert erin dat het Shared-project als eerste wordt gebuild, maar de linker blijft klagen.
Nu heb ik in het Server-project aangegeven dat de .lib van het Shared-project meegelinkt moet worden (Linker/Input/Additional dependencies = <lib-file>), maar de linker blijft klagen. Misschien moet ik de gebruikte Shared-symbolen nog op een of andere manier exporteren ofzo?
Wie kan mij wegwijs maken?
Alvast bedankt.