【发布时间】:2016-03-10 06:48:38
【问题描述】:
我目前正在尝试编译 CppUTest 库并将其与我的项目链接。我使用 CMake 为 CppUTest-library 创建了一个 Visual Studio 2013 解决方案并构建了它。
但是,当我将创建的 CppUTest.lib 链接到我的应用程序时,我收到一个链接器错误,告诉我它找不到多个符号,如
??0Utest@@QAE@XZ)
或
?RunAllTests@CommandLineTestRunner@@SAHHPAPAD@Z
现在,当我在 lib 和选项 /LINKERMEMBER 上使用 dumpbin.exe 时,我会在包含名称的库中得到一个符号列表
??0Utest@@QEAA@XZ
和
?RunAllTests@CommandLineTestRunner@@SAHHPEAPEAD@Z
所以实际存在的名称与我的项目期望的名称略有不同,我不知道是什么导致了这个问题。是否有任何编译选项会导致这些更改,或者我是否使用了不同的编译器,尽管我认为它是相同的?
【问题讨论】:
-
是的,这表明该库的构建选项与您的项目略有不同。除了浏览选项并尝试找出不同之处之外,您无能为力。
-
是的,我这样做了,但我什么也没找到,因为我忘了检查构建配置。不过还是谢谢你。
标签: c++ visual-studio-2013 linker-errors name-mangling cpputest