cuốn sách gpt4 ai đã làm

c++ - đơn vị đang cố gắng biên dịch lớp để kiểm tra

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 07:01:32 32 4
mua khóa gpt4 Nike

Tôi chưa quen với cả C++ và Cppunit. Tôi đang cố gắng biên dịch một bài kiểm tra cppunit nhỏ. Tuy nhiên, tôi đã không thành công.

qwerty@qwerty:~/chessgame/src$ g++ -Wall Phối hợpTest.cpp ftest.cpp -lcppunit -o test
/tmp/cc1vJJqz.o: Trong hàm `CoordineTest::coordineTest()':
Tọa độTest.cpp:(.text+0xbb): tham chiếu không xác định đến `Coordine::Coordine(int const&, int const&)'
Tọa độTest.cpp:(.text+0xe2): tham chiếu không xác định đến `Coordine::Coordine(int const&, int const&)'
coll2: ld trả về 1 trạng thái thoát

Đây là mã nguồn. Tôi đang thiếu gì ở đây?

----- Tọa độ.h ------------------------------------ ------ -------------------

#ifndef COORDINATE_H
#xác định COORDINATE_H

lớp Tọa độ
{

public:
Tọa độ(const int& x, const int& y);
void setCoordens(const int& x, const int& y);
const int& getCoordineX() const;
const int& getCoordineY() const;

private:
int mX;
int myY;

};

#endif

----- Tọa độ.cpp ------------------------------------ ------ -------------------

#include "Phối hợp.h"

Tọa độ:: Tọa độ(const int& x, const int& y): mX(x),mY(y)
{
}

void Tọa độ::setCoorden(const int& x, const int& y)
{
mX = x;
mY = y;
}

const int& Tọa độ::getCoordineX() const
{
trả lại mX;
}

const int& Tọa độ::getCoordineY() const
{
trả lại mY;
}

----- Tọa độTest.h ------------------------------------ ------ -------------------

#ifndef PHỐI HỢP_H
#xác định COORDINATETEST_H

#include
#include
#include "Phối hợp.h"

lớp Tọa độTest: CPPUNIT_NS công khai::TestFixture
{
CPPUNIT_TEST_SUITE (Kiểm tra tọa độ);
CPPUNIT_TEST (tọa độTest);
CPPUNIT_TEST_SUITE_END ();

public:
void setUp();
void TearsDown();

protected:
void tọa độTest();

};

#endif

----- Tọa độTest.cpp -------------------------------------- ---- --------------

#include "CoordineTest.h"

CPPUNIT_TEST_SUITE_REGISTATION (Kiểm tra tọa độ);

void Tọa độTest::setUp(void)
{

}

void Tọa độTest::tearDown(void)
{

}

void Tọa độTest::coordineTest(void)
{
Tọa độ từ(1, 0);
Phối hợp với (2, 0);
CPPUNIT_ASSERT_EQUAL (đúng, đúng);
}

----- ftest.cpp ------------------------------------ ------ -------------------

#include "CoordineTest.h"
#include
#include
#include
#include
#include
#include

int chính (int argc, char* argv[])
{
// thông báo cho người nghe kiểm tra về kết quả kiểm tra
CPPUNIT_NS::Kết quả kiểm tra TestResult;

// đăng ký trình nghe để thu thập kết quả kiểm tra
CPPUNIT_NS::TestResultCollector đã thu thập các kết quả;
testresult.addListener(&collectedresults);

// đăng ký trình nghe cho đầu ra tiến trình trên mỗi bài kiểm tra
Tiến trình CPPUNIT_NS::BriefTestProgressListener;
testresult.addListener(&progress);

// chèn test-suite vào test-runner bằng sổ đăng ký
CPPUNIT_NS::Người thử nghiệm TestRunner;
testrunner.addTest (CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
testrunner.run(kết quả kiểm tra);

// kết quả xuất ra dưới dạng trình biên dịch
CPPUNIT_NS::CompilerOutputter trình biên dịchoutputter(&collectedresults, std::cerr);
trình biên dịchoutputter.write();

// trả về 0 nếu kiểm tra thành công
trả lại kết quả đã thu thập.wasSuccessful()?
}

câu trả lời hay nhất

Hãy thử thêm Tọa độ.cpp vào dòng lệnh của bạn.

qwerty@qwerty:~/chessgame/src$ g++ -Wall Phối hợpTest.cpp ftest.cpp -lcppunit -o test

=>

qwerty@qwerty:~/chessgame/src$ g++ -Wall Tọa độTest.cpp Tọa độ.cpp ftest.cpp -lcppunit -o test

Về c++ - đơn vị; đang cố gắng biên dịch một lớp để kiểm tra, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/946737/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress