List:MySQL++« Previous MessageNext Message »
From:Zahroof Mohamed Date:November 19 2004 3:29pm
Subject:Re: RELEASE: v1.7.22
View as plain text  
On Fri, 19 Nov 2004 07:05:21 -0700, Warren Young <mysqlpp@stripped> wrote:
> Zahroof Mohamed wrote:
> 
> > Finally figured out a fix. If I
> > renamed the row.cc to row2.h and then include row2.h where it was
> > needed - mysql++.h and connection.cc , everything works fine again.
> 
> I don't see why that would be the case, unless you're doing something
> silly like not compiling row.cc and linking it into the library.
> 

Nope, not doing anything silly like that. I've tried it several times
now - as I too have no clue why by just essentially moving the row.cc
code to row2.h should work. Here is the error message when I try to
compile the dll with row.cc

Compiling source file(s)...
app.cpp
Linking...
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x8dd):
In function `main':
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77: variable
'vtable for mysqlpp::Row' can't be auto-imported. Please read the
documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x90e):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x95b):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77: variable 'vtable for
mysqlpp::Row' can't be auto-imported. Please read the documentation
for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x9f5):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xa42):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
-imported. Please read the documentation for ld's --enable-auto-import
for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xadc):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xb29):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xb76):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xbc3):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xc10):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0xc5d):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:77:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\app.cpp:77: variable 'vtable for mysqlpp::Row' can't be
auto-imported. Please read the documentation for ld's
--enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1aed):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1b1e):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1bb8):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1c05):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1c52):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\Debug\app.o(.text+0x1c9f):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1cec):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1d39):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
for mysqlpp::Row' can't be auto-imported. Please read the
documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1dd3):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1e20):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
--enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text+0x1ea8):C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\app.cpp:133:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowD1Ev[mysqlpp::Row::~Row()]+0x3a):
In function `ZThn8_N7mysqlpp5QueryD0Ev':
C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h: variable 'vtable
for mysqlpp::Row' can't be auto-imported. Please read the
documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowD1Ev[mysqlpp::Row::~Row()]+0x46):C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowC1Ev[mysqlpp::Row::Row()]+0x53):C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld'Info: resolving vtable for mysqlpp::Rowby
linking to __imp___ZTVN7mysqlpp3RowE (auto-import)
s --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowC1Ev[mysqlpp::Row::Row()]+0x5f):C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
C:\Zahroof\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowC1EPPcPKNS_6ResUseEPjb[mysqlpp::Row::Row(char**,
mysqlpp::ResUse const*, unsigned int*,
bool)]+0x68):C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
\Workspace\C++\MySQL\MySQLTest_dll\Debug\app.o(.text$_ZN7mysqlpp3RowC1EPPcPKNS_6ResUseEPjb[mysqlpp::Row::Row(char**,
mysqlpp::ResUse const*, unsigned int*,
bool)]+0x74):C:\Zahroof\Libraries\mysql++-1.7.22Mod\lib\query.h:
variable 'vtable for mysqlpp::Row' can't be auto-imported. Please read
the documentation for ld's --enable-auto-import for details.
collect2: ld returned 1 exit status

MySQLTest.exe - 24 error(s), 0 warning(s)



> > Please could you implement this in a release version?
> 
> No, because your proposed change breaks other code.  The stuff in row.cc
> was moved there from the header for a reason.
> 

Nope, don't see how it breaks other code. Agree that it is not an
elegant solution - that the way you have it in the release version
should work - but it doesn't for me as a dll.

Isn't anyone else in this group using GCC 3.4.2 on Win2K to build and
link a dll to an app? I can't believe that there is something in MingW
vs. Cygwin that would cause the difference.

By the way, I think you missed the following mod in compare.h in the
latest release:

In compare.h: ...
 ...
   bool operator () (const Row& cmp1) const
     {return MysqlCmp<BinaryPred, const char*>::func(
                       MysqlCmp<BinaryPred, const char*>::cmp2,
cmp1[this->index]);}

Best regards,
Zahroof
Thread
RELEASE: v1.7.22Warren Young18 Nov
  • Re: RELEASE: v1.7.22Chris Frey18 Nov
  • Re: RELEASE: v1.7.22Zahroof Mohamed18 Nov
    • Re: RELEASE: v1.7.22Warren Young19 Nov
      • Re: RELEASE: v1.7.22Zahroof Mohamed19 Nov