bonjour,
je pensais en avoir fini avec Boost.Serialization, mais non.
J'ai compilé Boost_1_54_0 avec MinGW (gcc 4.8.1) et obtenu toute une série de .a (c:/boost_1_54_0/stage/lib/libboost_serialization-mgw48_mt-1_54.a, etc...).
Je teste ce source:
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
21
 
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/core.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <QString>
#include <fstream>
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QString filename("serialized.txt");
 
    std::ofstream ofile(filename.toStdString());
    boost::archive::text_oarchive oTextArchive(ofile);  //ligne qui pose pb
}
Mon fichier .pro
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
 
QT       += core gui
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = tstBoost
TEMPLATE = app
 
SOURCES += main.cpp\
        mainwindow.cpp
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui
 
INCLUDEPATH += C:/boost_1_54_0
 
LIBS += -LC:/boost_1_54_0/stage/lib/libboost_serialization-mgw48-mt-1_54
Le link se passe mal, j'ai quantité d'erreurs du type:
undefined reference to boost::archive::text_oarchive_impl<boost::archive::text_oarchive>....
La compilation seule se passe bien.
Est-ce que la création des .a s'est mal passée? Le .pro n'est pas bon?
Si quelqu'un a une idée, merci.