Stiamo creando un numero di file MATLAB MEX che utilizzano la nostra libreria di comunicazioni. Questa libreria di comunicazione utilizza molto il Boost. Ora, MATLAB usa anche boost internamente, il che significa che in una configurazione standard, non possiamo usare una versione di boost diversa da quella fornita con MATLAB o che ne consegue.Uso della spinta nella libreria MATLAB MEX, diversa dalla versione di MATLAB
Il problema è che la versione potenziata fornita con la nostra versione di riferimento di matlab (boost 1.40) è piuttosto vecchia e presenta alcuni bug. Ci piacerebbe molto usare una versione più recente.
L'unica soluzione che vedo è creare una versione personalizzata di boost che risiede in un namespace diverso. Il nome mangling dovrebbe quindi prevenire i conflitti di denominazione. Questa soluzione è un po 'complicata perché boost esporta anche alcuni simboli "C" e ha un numero di macro che dovranno essere tutte modificate.
Esistono soluzioni consigliate che non richiedono la creazione di versioni boost personalizzate?
Hai provato a specificare il percorso completo della tua libreria Boost con l'opzione '-l'? –
Perché dovrebbe importare? Ci proverò comunque domani, solo curioso. – Ives
forse in questo modo può collegarsi con la libreria Boost piuttosto che con MATLAB. –