legitmate_relationship.dll:基本上这个dll用于其中一个单元测试项目unittest_legitimate_relationship。
一旦我构建unittest_legitimate项目,就会给出一些链接器错误。
错误LNK2019:未解析的外部符号CheckLr在函数“private:bool __cdecl LrTester :: LrTest()
中引用这里是函数defalcation,我将在我的单元测试项目中调用,并在“legitmate_relationship.h”头文件中声明
#ifdef __cplusplus
extern "C"
{
#endif
DLL_IMPORT (bool_t)
CheckLr(STD_HANDLE hPrincipal, STD_HANDLE hCollectionIn, STD_HANDLE hCollectionOut);
#ifdef __cplusplus
}
函数在文件“lrrule.cpp”
中定义如下DLL_EXPORT (bool_t)
CheckLr(STD_HANDLE hCollectionIn, STD_HANDLE hCollectionOut, STD_HANDLE hPrincipal)
{
}
为了在unittest_legitimate项目中使用checklr函数,我在附加依赖中添加了.lib文件引用。这样功能定义应该可用于项目。
如果我正在编译unittest合法项目,我会收到如上所述的链接器错误。
在lrtest.cpp中调用checklr():
CheckLr((STD_HANDLE)permissionCollectionIn, (STD_HANDLE)permissionCollectionOut, (STD_HANDLE)principal);
我不知道如何解决此类链接器错误。谢谢。
答案 0 :(得分:0)
1.要检查的三件事,legitrelasionship.dll项目和unittest_legitimate-relationship.exe项目应该是相同的:
MT / MD
86/64
CPLUSPLUS / C
2. legitrelasionship.dll项目生成一个legitrelasionship.lib文件。 unittest_legitimate-relationship.exe项目应链接到此legitrelasionship.lib文件。