multiple definitions of symbol linker error using sql_create_# 2007-08-06 - By Graham Reitz
Back 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 are more, but similar)
What am I missing?
The code looks as follows:
// start file my_tables.h #include <mysql++.h> #include <custom.h> #include <string>
#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 <string> #include <vector>
#include <boost/noncopyable.hpp> #include "my_tables.h"
class my_db : boost::noncopyable { public: explicit my_db(std::string tcp_ip_address, unsigned int port_number, std::string db_name, std::string db_username, std::string db_password); }; #endif // _MY_DB_H_ // end file my_db.h
// start file my_db.cpp #include <mysql++.h> #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(), tcp_ip_address.c_str(), db_username.c_str(), db_password.c_str(), port_number, false); } // end file my_db.cpp
|
|