Eclipse 找不到 UnitTest++ 库
Eclipse Cannot find the UnitTest++ library
我一直在尝试使用 UnitTest++ 进行单元测试。我正在使用 Eclipse Mars IDE。
我遵循了 Project->Properties->C/C++ Build->Tool Settings 并在 GCC C++ 编译器(包括选项)和 "C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h" 中包含了完整路径 "C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++"在 MinGW C++ 链接器中(库选项)
当我构建源代码时,出现错误
cannot find -lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
关于如何修复它有什么建议吗? TIA
您看到一个 linker 错误,告诉您 linker 可以
找不到与命令行 linker 选项相对应的库:
-lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
对应于 linker 选项 -lfoo
的库将调用 libfoo.a
或 libfoo.so
,如果您使用的是类 unix 系统,或 libfoo.a
、foo.lib
或 foo.dll
如果你在 Windows.
当然 none 这些可能性会产生任何存在的文件的名称
在您的计算机上,如果您替换 C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
foo
.
你犯了一个或者两个错误:
您添加了头文件的名称,C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
,
作为 link年龄库。头文件对linker 没有任何意义。 linkage 库是一个二进制文件
包含编译后的代码,linker 可以将这些代码与其他二进制文件结合起来制作程序。这
您需要 link 的图书馆是 UnitTest++
。此设置将生成命令行 linker 选项:
-lUnitTest++
构建时,linker 将在目录中搜索匹配的库文件
它应该在哪里搜索图书馆。
默认情况下,linker 将在几个默认目录中搜索库,具体取决于
您的类 unix 或 Windows 系统。如果您尚未在其中一个中安装 UnitTest++ 库
这些地方然后你还需要告诉 linker 它应该搜索这个库的目录的名称。
因此,例如,如果您的 UnitTest++ 库是:
C:\Users\XXX\workspace\unittest-cpp-master\lib\UnitTest++.a
那么您需要在IDE中做进一步的设置。导航到项目的 Properties -> C++ Build -> Settings -> GCC C++ 链接器 -> 库 -> 库搜索路径,
并添加 C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++
。此设置将生成
命令行 linker 选项:
-LC:\Users\XXX\workspace\unittest-cpp-master\lib
构建时。
如果你使用 IDE 这样的 Eclipse 来控制 GNU 构建工具,而没有基本了解如何
命令行工具的工作原理以及它们对哪些类型的文件进行操作,那么恐怕您肯定会
犯这样的错误:here is very quick cure for that.
如果它让您在使用 MinGW GCC 时误入歧途,请参考 the MinGW documentation and/or the GCC documentation
我一直在尝试使用 UnitTest++ 进行单元测试。我正在使用 Eclipse Mars IDE。
我遵循了 Project->Properties->C/C++ Build->Tool Settings 并在 GCC C++ 编译器(包括选项)和 "C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h" 中包含了完整路径 "C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++"在 MinGW C++ 链接器中(库选项)
当我构建源代码时,出现错误
cannot find -lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
关于如何修复它有什么建议吗? TIA
您看到一个 linker 错误,告诉您 linker 可以 找不到与命令行 linker 选项相对应的库:
-lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
对应于 linker 选项 -lfoo
的库将调用 libfoo.a
或 libfoo.so
,如果您使用的是类 unix 系统,或 libfoo.a
、foo.lib
或 foo.dll
如果你在 Windows.
当然 none 这些可能性会产生任何存在的文件的名称
在您的计算机上,如果您替换 C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
foo
.
你犯了一个或者两个错误:
您添加了头文件的名称,C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
,
作为 link年龄库。头文件对linker 没有任何意义。 linkage 库是一个二进制文件
包含编译后的代码,linker 可以将这些代码与其他二进制文件结合起来制作程序。这
您需要 link 的图书馆是 UnitTest++
。此设置将生成命令行 linker 选项:
-lUnitTest++
构建时,linker 将在目录中搜索匹配的库文件 它应该在哪里搜索图书馆。
默认情况下,linker 将在几个默认目录中搜索库,具体取决于 您的类 unix 或 Windows 系统。如果您尚未在其中一个中安装 UnitTest++ 库 这些地方然后你还需要告诉 linker 它应该搜索这个库的目录的名称。 因此,例如,如果您的 UnitTest++ 库是:
C:\Users\XXX\workspace\unittest-cpp-master\lib\UnitTest++.a
那么您需要在IDE中做进一步的设置。导航到项目的 Properties -> C++ Build -> Settings -> GCC C++ 链接器 -> 库 -> 库搜索路径,
并添加 C:\Users\XXX\workspace\unittest-cpp-master\UnitTest++
。此设置将生成
命令行 linker 选项:
-LC:\Users\XXX\workspace\unittest-cpp-master\lib
构建时。
如果你使用 IDE 这样的 Eclipse 来控制 GNU 构建工具,而没有基本了解如何 命令行工具的工作原理以及它们对哪些类型的文件进行操作,那么恐怕您肯定会 犯这样的错误:here is very quick cure for that. 如果它让您在使用 MinGW GCC 时误入歧途,请参考 the MinGW documentation and/or the GCC documentation