一个非常奇怪的问题:实际上,我能够轻松地将库文件“ FastRTPS”(DDS库)添加到我的项目中,并且之前运行良好。当我尝试升级到新的FastRTPS版本时,编译失败。在某个时候,我放弃了尝试恢复为以前可用的版本的尝试,但是根本无法再使用了。
所以我的设置如下:
这就是项目.pro文件中的内容:
win32: LIBS += -L$$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/ -lfastcdr-1.0
INCLUDEPATH += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017
DEPENDPATH += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/fastcdr-1.0.lib
else:win32-g++: PRE_TARGETDEPS += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/libfastcdr-1.0.a
win32: LIBS += -L$$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/ -lfastrtps-1.8
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/fastrtps-1.8.lib
else:win32-g++: PRE_TARGETDEPS += $$PWD/../../../../prog/FastRTPSv1.8/lib/x64Win64VS2017/libfastrtps-1.8.a
这将添加FastRTPS和FastCDR(FastRTPS必需)。例如,始终弹出以下错误:
libfastcdr-1.0.lib(Cdr.obj):-1: Fehler: LNK2005: "public: class eprosima::fastcdr::Cdr & __cdecl eprosima::fastcdr::Cdr::serialize_encapsulation(void)" (?serialize_encapsulation@Cdr@fastcdr@eprosima@@QEAAAEAV123@XZ) ist bereits in fastcdr-1.0.lib(fastcdr-1.0.dll) definiert.
总是会发生15种此类错误,我只是不知道是什么原因导致了该问题。
这是我已经尝试过的:
你们知道什么会导致这样的错误吗?