Re: [PostgreSQL+SOCI+BOOST] Compile error in core\exchange-traits.h with PG and SOCI on Windows
От | Adrian Klaver |
---|---|
Тема | Re: [PostgreSQL+SOCI+BOOST] Compile error in core\exchange-traits.h with PG and SOCI on Windows |
Дата | |
Msg-id | 566996EA.2040300@aklaver.com обсуждение исходный текст |
Ответ на | [PostgreSQL+SOCI+BOOST] Compile error in core\exchange-traits.h with PG and SOCI on Windows ("Lawry, Brian" <blawry@cccglobal.com>) |
Список | pgsql-general |
On 12/10/2015 06:55 AM, Lawry, Brian wrote: > Hi. > > This isn’t really a PostgreSQL question but I’ve gotten no response to > the following > > issue posted on the SOCI-users list. I’m posting here in the hope that > someone has > > experience building SOCI for PostgreSQL with Boost type support on Windows. I know nothing about SOCI, but it to help those might, it would be a good idea to detail your build steps. In other words what part of the below did you do? http://soci.sourceforge.net/doc/3.2/installation.html > > Configuration: > > Using SOCI 3.2.3, Boost 1.59.0, PostgreSQL 9.4 (same with 9.5b2), > > and Microsoft Visual Studio 2010 on Win 7 Pro 64-bit (everything but OS > is 32-bit). > > Target is 32-bit SOCI DLL with PostgreSQL support and Boost integration > (at least tuple). > > Ran 'soci_postgresql_test.exe' and all tests under 'SOCI PostgreSQL > Tests' passed except: > > test 6 skipped (dynamic backend) > > NOTICE: table "soci_test" does not exist, skipping > > NOTICE: table "soci_json_test" does not exist, skipping > > NOTICE: table "soci_test" does not exist, skipping > > I can build an application that doesn't use boost::tuple without error. > > However, if I do use boost∷tuple, I get: > > c:\develop\soci-3.2.3\core\exchange-traits.h(40): error C2065: > 'x_type' : undeclared identifier > > // ----example----------------------------------------------------- > > #include "stdafx.h" > > /* stdafx.h includes: > > #define _ITERATOR_DEBUG_LEVEL 0 > > #include "targetver.h" > > #include <stdio.h> > > #include <tchar.h> > > */ > > #include <string> > > #include <iostream> > > #include <boost/tuple/tuple.hpp> > > #include <boost-tuple.h> > > #include <soci.h> > > #include <soci-postgresql.h> > > #pragma comment(lib, "libsoci_core_3_2.lib") > > #pragma comment(lib, "libsoci_postgresql_3_2.lib") > > #pragma comment(lib, "libpq.lib") > > int _tmain(int argc, _TCHAR* argv[]) > > { > > soci::session sql(soci::postgresql, "host=localhost > user=postgres password=XXXXX dbname=postgres port=5432"); > > sql << "CREATE TABLE IF NOT EXISTS t (i INTEGER, s TEXT)"; > > sql << "TRUNCATE TABLE t"; > > sql << "INSERT INTO t (i, s) VALUES (0, 'frist')"; > > int i; > > std::string s; > > sql << "SELECT i, s FROM t WHERE i = 0", soci::into(i), > soci::into(s); > > std::cout << i << "\t" << s << std::endl; > > boost::tuple<int, std::string> r; > > // following line causes error C2065: 'x_type' : undeclared identifier > in core\exchange-traits.h > > sql << "SELECT i, s FROM t WHERE i = 0", soci::into(r); > > std::cout << r.get<0>() << "\t" << r.get<1>() << std::endl; > > return(0); > > } > > //--------------------------------------------------------------------- > > Thanks. > > *Brian Lawry* > > /Manufacturing Software Engineer-Supply Chain/ > > *Compressor Controls Corporation* > > 4725 121^st Street, Des Moines, Iowa 50323, U.S.A. > > blawry@cccglobal.com <mailto:blawry@cccglobal.com>/ www.cccglobal.com > <http://www.cccglobal.com>/ LinkedIn > <http://www.linkedin.com/company/compressor-controls-corporation>__ > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: