[英]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 ++”和“ MinGW C ++链接器中的C:\\ Users \\ XXX \\ workspace \\ unittest-cpp-master \\ UnitTest ++ \\ UnitTest ++。h(“库”选项)
当我构建源代码时,它给出了错误
找不到-lC:\\ Users \\ XXX \\ workspace \\ unittest-cpp-master \\ UnitTest ++ \\ UnitTest ++。h
关于如何解决它的任何建议? TIA
您看到一个链接器错误,告诉您链接器找不到与命令行链接器选项相对应的库:
-lC:\Users\XXX\workspace\unittest-cpp-master\UnitTest++\UnitTest++.h
如果您使用的是类Unix系统,则对应于链接器选项-lfoo
库将称为libfoo.a
或libfoo.so
;如果您使用Windows, foo.lib
称为libfoo.a
, foo.lib
或foo.dll
。
当然,如果用C:\\Users\\XXX\\workspace\\unittest-cpp-master\\UnitTest++\\UnitTest++.h
代替foo
,那么这些可能性都不会产生计算机上存在的任何文件的名称。
您犯了一个错误,也许犯了两个错误:
您已经添加了头文件C:\\Users\\XXX\\workspace\\unittest-cpp-master\\UnitTest++\\UnitTest++.h
作为链接库 。 头文件对链接器没有任何意义。 链接库是一个二进制文件,其中包含编译器代码,链接器可将其与其他二进制文件合并以构成程序。 您需要链接的库是UnitTest++
。 此设置将生成命令行链接器选项:
-lUnitTest++
当您进行构建时,链接器将在应该搜索库的目录中搜索匹配的库文件。
默认情况下,链接器将在多个默认目录中搜索库,具体取决于类Unix或Windows系统。 如果您尚未在这些位置之一安装UnitTest ++库,则还需要告诉链接程序应在其中搜索该库的目录名称。 因此,举例来说,如果您的UnitTest ++库为:
C:\Users\XXX\workspace\unittest-cpp-master\lib\UnitTest++.a
那么您需要在IDE中进行进一步的设置。 导航到项目的“项目” 属性 -> C ++ Build- > 设置 -> GCC C ++链接器 -> 库 -> 库搜索路径 ,然后添加C:\\Users\\XXX\\workspace\\unittest-cpp-master\\UnitTest++
。 此设置将生成命令行链接器选项:
-LC:\Users\XXX\workspace\unittest-cpp-master\lib
当您构建时。
如果使用IDE,比如Eclipse的一个控制GNU编译工具,而不基本理解命令行工具是如何工作的,他们就再操作什么类型的文件恐怕你一定会犯的失误是这样的: 这里是非常迅捷治愈那。 如果使用MinGW GCC会使您误入歧途,请参阅MinGW文档和/或GCC文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.