alglib c++ : pb de compilation
	
	
		Bonjour,
   Je cherche à utiliser la bibliothèque alglib (http://www.alglib.net/) pour un projet en c++.
   J'ai suivi leur doc (rudimentaire) pour l'installation, qui s'est bien passée. J'ai un ensemble de .h et un ligalglib.a qui sont réunis dans un seul et même répertoire.
   Bien !
  Maintenant je passe à la pratique et je construis mon premier programme, main.cpp, en m'inspirant des fichiers de démo :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   |  
#include <stdlib.h>
#include <stdio.h>
#include "ext/alglib/out/ap.h"
 
using namespace std;
 
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
int main( int argc, char *argv[] ) {
 
	ap::real_1d_array x;
 
	return 0;
} | 
 Pour le compiler j'utilise le makefile suivant :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
   |  
#!/bin/bash
# MAKEFILE
 
# == MACROS ==================================================
 
# Paths
S = src
I = inc
O = obj
 
# Definitions
OUTPUT = exec
OBJ_LIST = $(O)/main.o
 
# Misc
CC = g++
CFLAGS = -Wall -c -g -lm
LFLAGS = -Wall -g
 
# ============================================================
 
# -- DUMMY TARGETS ----------------
 
# Rebuild all target
all: $(OUTPUT)
 
# Clean
clean:
	\rm $(O)/*.o $(OUTPUT)
 
# -- TARGETS -----------------------
 
# Output
$(OUTPUT) : $(OBJ_LIST)
	$(CC) $(LFLAGS) $(OBJ_LIST) -o $(OUTPUT)
 
$(O)/main.o : $(S)/main.cpp
	$(CC) $(CFLAGS) $(S)/main.cpp -o $(O)/main.o -Lext/alglib/out/ -lalglib  | 
 Et voilà le résultat du make :
	Code:
	
1 2 3 4 5
   |  
g++ -Wall -c -g -lm src/main.cpp -o obj/main.o -Lext/alglib/out/ -lalglib
g++ -Wall -g obj/main.o -o exec
obj/main.o: In function `~template_1d_array': ext/alglib/out/ap.h:239: undefined reference to `ap::afree(void*)'
collect2: ld returned 1 exit status  | 
    Pourtant ap::free est bien définie dans ap.h. :?
   Y a-t-il un utilisateur d'alglib qui pourrait éclairer ma lanterne ? Pourquoi la version C++ d'alglib fait-elle appel à ces commandes de C ? :?
Je travaille sous Ubuntu 9.10, et je compile avec g++.