Hello,
J'ai récupéré une bibliothèque, et je n'arrive pas à la compiler avec g++, alors que ça marche très bien avec Visual Studio 2005.
Cela se passe dans un .h. Ce fichier possède un espace de nommage. Dans cet espace de nommage sont définis une fonction et une classe.
La fonction n'est.utilisée que par une fonction publique de cette classe.
Avec Visual Studio 2005, aucun problème.
Mais g++ me sort un "multiple definition" sur la fonction
PS : pour info, il s'agit de la bibliothèque PixelToaster
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 namespace PixelToaster { Format findFormat(int bitsPerPixel, unsigned long redMask, unsigned long greenMask, unsigned long blueMask) { (...) return Format::Unknown; } class UnixDisplay : public DisplayAdapter { public: bool open( const char title[], int width, int height, Output output, Mode mode ) { (...) destFormat_ = findFormat(bufferDepth, visual->red_mask, visual->green_mask, visual->blue_mask); (...) } } }
Partager