小编Van*_*nce的帖子

Gtest:未定义的参考文献

我正在尝试使用GoogleTest来测试一个简单的函数,但是当我make在build文件夹中运行时,编译器会Undefined Reference向我抛出错误消息.我引用了gtest头文件,所以我不确定是什么问题.有任何想法吗?我是unix和单元测试的全部主题的新手,所以我很可能会遗漏一些简单的东西.提前致谢!

错误消息:

CMakeFiles/Proj2.dir/main.cpp.o: In function `main':
main.cpp:(.text+0x1e): undefined reference to `testing::InitGoogleTest(int*, char**)'
main.cpp:(.text+0x23): undefined reference to `testing::UnitTest::GetInstance()'
main.cpp:(.text+0x2b): undefined reference to `testing::UnitTest::Run()'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include "gtest/gtest.h"

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
Run Code Online (Sandbox Code Playgroud)

TEST.CPP

#include "gtest/gtest.h"
#include "Testable.h"

TEST(GetTwoTest, Two) {
    EXPECT_EQ(2, GetTwo());
}
Run Code Online (Sandbox Code Playgroud)

Testable.cpp

#include "Testable.h"

int GetTwo() {
    return 3;
}
Run Code Online (Sandbox Code Playgroud)

这是我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.6)

SET(CMAKE_CXX_FLAGS "-std=gnu++11") #Turn on C++11 Support

set(FILES_TO_TEST Testable.cpp)
set(UNIT_TESTS …
Run Code Online (Sandbox Code Playgroud)

c++ unix unit-testing cmake googletest

17
推荐指数
1
解决办法
3万
查看次数

使用递归查找数组的最小值?

好吧,所以我一直试图用Java包围递归,我可以完成简单的任务,如求和,倒转等等.但我一直在努力做这个练习:

我试图使用递归找到数组中的最小数字但仍然得到0.0的答案.

我对递归的理解是,我需要增加一个元素,然后提供一个结束递归的基本情况.当我必须返回一个值时,我想我搞砸了,什么时候最好调用递归方法.

这是我到目前为止:

public static double findMin(double[] numbers, int startIndex, int endIndex) {

double min;
int currentIndex = startIndex++;

if (startIndex == endIndex)
    return numbers[startIndex];

else {
    min = numbers[startIndex];
    if (min > numbers[currentIndex]) {
        min = numbers[currentIndex];
        findMin(numbers, currentIndex, endIndex);
    }
            return min;
}       
} //findMin
Run Code Online (Sandbox Code Playgroud)

java recursion minimum

6
推荐指数
3
解决办法
3万
查看次数

递归并返回Scheme中的列表

我无法绕过一种使用递归来创建列表然后返回基本情况列表的方法.具体来说,我将两个32位数字(x1和x2)输入ALU并逐位(通过ALU1)进行评估,然后创建结果数字的列表.这个递归算法的基本情况是(null?x1),但此时,如何访问结果列表?我知道方案中的列表是不可变的,所以我不能只创建一个空列表并将结果列表附加到它.有帮助吗?这是我第一次参加功能编程,所以提前感谢.

(define ALU-helper 
   (lambda (selection sub x1 x2 carry-in n)
      (if (null? x1)
          (________?)
          (cons
              (ALU1 selection sub (car x1) (car x2) carry-in n) 
              (ALU-helper selection sub (cdr x1) (cdr x2) carry-in (- n 1))))))
Run Code Online (Sandbox Code Playgroud)

recursion scheme list

4
推荐指数
1
解决办法
7358
查看次数

标签 统计

recursion ×2

c++ ×1

cmake ×1

googletest ×1

java ×1

list ×1

minimum ×1

scheme ×1

unit-testing ×1

unix ×1