From: Jim Wallace Date: August 7 2007 1:39pm Subject: RE: MYSQLPP problem in visual studio : mysqlpp.dll was not found !!! List-Archive: http://lists.mysql.com/plusplus/6894 Message-Id: <5AA52B773286DA4E83B1F2D034FFED372470EE@mailexchange.klausatlanta.local> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable This is nothing specific to MySQL++. It's just how Windows works. I don't think the MySQL++ doc would be deficient for not telling a = developer how Window finds DLLs. -----Original Message----- From: Ian Daysh [mailto:I.Daysh@stripped]=20 Sent: Tuesday, August 07, 2007 7:17 AM To: plusplus@stripped Subject: RE: MYSQLPP problem in visual studio : mysqlpp.dll was not = found !!! This is in the documentation, is it not??=20 -----Original Message----- From: Jim Wallace [mailto:jwallace@stripped] Sent: 07 August 2007 12:05 To: plusplus@stripped Subject: RE: MYSQLPP problem in visual studio : mysqlpp.dll was not = found !!! Yes, the DLL must be in the folder with your exe, or in one of the = folder in the PATH.=20 -----Original Message----- From: Michael Nye [mailto:michael.nye@stripped] Sent: Tuesday, August 07, 2007 5:00 AM To: plusplus@stripped Subject: Re: MYSQLPP problem in visual studio : mysqlpp.dll was not = found !!! Hi Cedrik, I too had this problem. I think there is a number of fixes for the = problem, but the simple way I solved it was by including the .dll in the = location of the .exe. In VS2005 this means that in the debug/release = folders within your program, and possibly in the main project folder = too. I'm pretty sure you can setup the compile so it references to the = .dll location (or you might have to play with Windows not the compile to = do this) but couldn't be bothered exploring further after I found this = simple way out. Michael. Cedrik Magis wrote: > Hello, > > We've got a problem in the use of the mysqlpp library, when using it = in our program and even with the example project mfc in visual studio = (2005 professional edition). There is no problem in compiling, only when = launching the .exe. We've got an error message :=20 > "This application has failed to start because mysqlpp.dll was not = found. Re-installing the application may fix the problem." > > In our compiling options, the address of the mysqlpp.dll is correct = (and, even it's obvious, myslpp.dll is present), if some has encountered = the same problem or can help us to understand this, we will be grateful. > > Thanks, > > Cedrik and Fran=E7ois > > -----Original Message----- > From: Graham Reitz [mailto:grahamreitz@stripped] > Sent: Monday, August 06, 2007 11:49 PM > To: william.dowling@stripped > Cc: plusplus@stripped > Subject: Re: multiple definitions of symbol linker error using=20 > sql_create_# > > Ok I see what is going on now. > > From another post: > > > To fix this, I would put the sql_create_* macro in a separate .h=20 > file, > and #define MYSQLPP_SSQLS_NO_STATICS above all #includes for=20 > that file > except for one. This ensures that the static members are = > assigned to > only once. You can see this pattern in action in the > examples: the > 'stock' SSQLS type is defined in stock.h, and it is=20 > included in both > util.cpp and in custom*.cpp > > That is an unfortunate thing to have to do, especially if you will be=20 > sharing a library with other developers. Now they have to 'remember' > to do this. Easy enough to do, but when you get busy it can be easy=20 > to forget or overlook. > > Thanks, > Graham > > > On Aug 6, 2007, at 4:21 PM, William F. Dowling wrote: > > =20 >> Put something like this in the project .h file (say, projdb.h): >> >> #ifndef PROJ_DB_CPP >> #define MYSQLPP_SSQLS_NO_STATICS >> #endif >> >> and something like this in the one corresponding .cpp file >> >> #define PROJ_DB_CPP >> #include "projdb.h" >> #undef PROJ_DB_CPP >> >> This caught me up too; search the mail archives for a fuller=20 >> explanation. >> >> Will >> >> >> On Mon, 2007-08-06 at 16:14 -0500, Graham Reitz wrote: >> =20 >>> I created a header file where I placed all of my sql_create_# = macros. >>> >>> I keep getting multiple definition linker errors. >>> >>> /usr/bin/ld: multiple definitions of symbol agencies::names (there=20 >>> are more, but similar) >>> >>> What am I missing? >>> >>> The code looks as follows: >>> >>> // start file my_tables.h >>> #include >>> #include >>> #include >>> >>> #ifndef _TABLES_HPP_ >>> #define _TABLES_HPP_ >>> >>> sql_create_3(agencies, 1, 3, >>> unsigned int, agency_id, >>> std::string, agency_name, >>> std::string, agency_contact) >>> >>> sql_create_3(billing, 1, 3, >>> unsigned int, billing_id, >>> std::string, billing_agency_name, >>> std::string, billing_first_name) >>> #endif // _TABLES_HPP_ >>> // end file my_tables.h >>> >>> // start file my_db.h >>> #ifndef _MY_DB_H_ >>> #define _MY_DB_H_ >>> >>> #include >>> #include >>> >>> #include >>> #include "my_tables.h" >>> >>> class my_db : boost::noncopyable >>> { >>> public: >>> explicit my_db(std::string tcp_ip_address, unsigned int=20 >>> port_number, >>> std::string db_name, std::string db_username, >>> std::string db_password); }; #endif //=20 >>> _MY_DB_H_ // end file my_db.h >>> >>> // start file my_db.cpp >>> #include >>> #include "tac_db.h" >>> >>> my_db::my_db(std::string tcp_ip_address, unsigned int port_number, >>> std::string db_name, std::string db_username, >>> std::string db_password) { >>> // Connect to the database >>> mysqlpp::Connection connection(db_name.c_str(),=20 >>> tcp_ip_address.c_str(), >>> db_username.c_str(), db_password.c_str(), port_number,=20 >>> false); } // end file my_db.cpp >>> >>> >>> >>> >>> =20 >> -- >> William F Dowling >> william.dowling@stripped >> www.scientific.thomson.com >> >> -- >> MySQL++ Mailing List >> For list archives: http://lists.mysql.com/plusplus >> To unsubscribe: http://lists.mysql.com/plusplus?=20 >> unsub=3Dgrahamreitz@stripped >> >> =20 > > > =20 --=20 MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: = http://lists.mysql.com/plusplus?unsub=3Djwallace@stripped --=20 MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: = http://lists.mysql.com/plusplus?unsub=3Di.daysh@stripped --=20 MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: = http://lists.mysql.com/plusplus?unsub=3Djwallace@stripped