当前位置: 技术问答>linux和unix
AIX平台下C++链接错误,高手来看看
来源: 互联网 发布时间:2017-02-23
本文导语: 写了两个类进行DB2数据库的操作,一个连接类CDBConnect,一个执行类CDBExecute。 // 连接类为单实例 class CDBConnect { public: static CDBConnect* GetInstance(); static void Destroy(); ...... private: CDBConnect(); ...
写了两个类进行DB2数据库的操作,一个连接类CDBConnect,一个执行类CDBExecute。
// 连接类为单实例
class CDBConnect
{
public:
static CDBConnect* GetInstance();
static void Destroy();
......
private:
CDBConnect();
~CDBConnect();
};
// 执行类
class CDBExecute
{
public:
CDBExecute();
~CDBExecute();
......
};
在main函数中调用,别的啥也没写,链接就报错了
int main()
{
CDBConnect::GetInstance();
CDBExecute dbExec;
}
makefile这样写的(不是很熟悉,感觉应该没错),系统是32位的,但是不加-maix64就报错。
test : main.cpp DBConnect.o DBExecute.o
g++ -o test main.cpp -L$(LIBPATH) -l$(LIB) -I$(INCLUDE) -maix64
DBExecute.o : DBConnect.o
g++ -c DBExecute.cpp -maix64
DBConnect.o : tixml.o
g++ -c DBConnect.cpp -maix64
// 连接类为单实例
class CDBConnect
{
public:
static CDBConnect* GetInstance();
static void Destroy();
......
private:
CDBConnect();
~CDBConnect();
};
// 执行类
class CDBExecute
{
public:
CDBExecute();
~CDBExecute();
......
};
在main函数中调用,别的啥也没写,链接就报错了
int main()
{
CDBConnect::GetInstance();
CDBExecute dbExec;
}
makefile这样写的(不是很熟悉,感觉应该没错),系统是32位的,但是不加-maix64就报错。
test : main.cpp DBConnect.o DBExecute.o
g++ -o test main.cpp -L$(LIBPATH) -l$(LIB) -I$(INCLUDE) -maix64
DBExecute.o : DBConnect.o
g++ -c DBExecute.cpp -maix64
DBConnect.o : tixml.o
g++ -c DBConnect.cpp -maix64
|
是了,所有的组成文件都需要一起编译连接