ho usato Boost come una struttura costruita da uno script di Pete Goodliffe per un bel po 'di tempo. Funziona alla grande. Recentemente ho colpito un problema che può essere riprodotto da far cadere il seguente codice nel viewDidLoad di un controller della vista in una nuova altrimenti marchio progetto XCode:usando boost :: percorso filesysystem dal quadro sul ios
#include "boost/filesystem/path.hpp"
#include "boost/filesystem/operations.hpp"
- (void)viewDidLoad
{
[super viewDidLoad];
boost::filesystem::path path("/var/mobile/Applications/.../Documents/somefile.txt");
bool b = boost::filesystem::exists(path);
}
Questo si traduce in EXC_BAD_ACCESS quando l'oggetto percorso viene distrutto (il problema si verifica nel distruttore del membro basic_string del percorso). Qualcun altro ha incontrato questo problema? Tutto è stato creato con lo stesso SDK e le impostazioni di visibilità sono le stesse su progetto di test e framework. Inside :: exists, l'unica funzione chiamata on path è .c_str(), che posso chiamare nel mio codice senza problemi. Passa il risultato di .c_str() a :: stat, che posso anche chiamare con successo. Sembra una mancata corrispondenza di runtime di qualche tipo. Qualche idea?