Hi Patrice,
I have very skeletal examples using Vertex buffer objects and shaders. To compile in 64 bit code, I had to ensure that all my integer array buffers were 32 bit (especially for glGenBuffers(..) ).
After that, I was able to compile, link and run your vertex shader in a 64 bit binary. - I used text files for the vertex and fragment shaders, rather than inline strings.
So OpenGL must be the innocent party and the problem lies somewhere with C++
vertex shader in plain text
#version 110
varying vec3 normal;
void main()
{
normal = normalize(gl_NormalMatrix * gl_Normal);
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
gl_TexCoord[0] = gl_MultiTexCoord0;
}