引用lib中的类静态函数出有关问题
引用lib中的类静态函数出问题
好久没来了.问个小繁杂的问题.
在lib中建立一个类使用了静态函数.
然后在另一工程中引用这个lib.使用其中的静态函数.提示未声明错误.
a.lib
a.h
class a
{
public:
static void GetName(PTCHAR pszName);
}
a.cpp
void a::GetName(PTCHAR pszName)
{
return;
}
在另一工程中引用lib使用a::GetName()就fatal error LNK1120: 1 unresolved externals
最后发现是参数类型PTCHAR影响.如果直接定义ansi或unicode就没有问题.
如static void GetName(PWCHAR pszName);或static void GetName(PCHAR pszName);
不知是何原因?请大神解答.
------最佳解决方案--------------------
工程和lib都是unicode工程或 ansi工程的话就可以了。
------其他解决方案--------------------
lib工程 要和exe工程 的字符集 一致
------其他解决方案--------------------
静态的不用export么?
------其他解决方案--------------------
应该是没有申明导出
------其他解决方案--------------------
lib不用export.
没人这样使用过吗?
------其他解决方案--------------------
果然是这样.呵.这都没想到.谢谢了.
好久没来了.问个小繁杂的问题.
在lib中建立一个类使用了静态函数.
然后在另一工程中引用这个lib.使用其中的静态函数.提示未声明错误.
a.lib
a.h
class a
{
public:
static void GetName(PTCHAR pszName);
}
a.cpp
void a::GetName(PTCHAR pszName)
{
return;
}
在另一工程中引用lib使用a::GetName()就fatal error LNK1120: 1 unresolved externals
最后发现是参数类型PTCHAR影响.如果直接定义ansi或unicode就没有问题.
如static void GetName(PWCHAR pszName);或static void GetName(PCHAR pszName);
不知是何原因?请大神解答.
------最佳解决方案--------------------
工程和lib都是unicode工程或 ansi工程的话就可以了。
------其他解决方案--------------------
lib工程 要和exe工程 的字符集 一致
------其他解决方案--------------------
静态的不用export么?
------其他解决方案--------------------
应该是没有申明导出
------其他解决方案--------------------
lib不用export.
没人这样使用过吗?
------其他解决方案--------------------
果然是这样.呵.这都没想到.谢谢了.