Tôi đang cố gắng xây dựng một đơn vị kiểm tra đơn vị thực thi đơn giản, sử dụng cpputest. Tôi đã xây dựng khung công tác cpputest thành một thư viện tĩnh và bây giờ tôi đang cố gắng liên kết nó với một tệp thực thi. Tuy nhiên, tôi bị ràng buộc vào một thiết lập Makefile khá phức tạp, vì mã liên quan.Tham chiếu không xác định cho toán tử mới
Đây là dòng lệnh của tôi:
/usr/bin/qcc -V4.2.4,gcc_ntoarmle_acpp-ne -lang-c++ -O2 -g -g -o Application/UnitTests/Tests/symbols/UnitTestExe -Wl,--start-group Application/UnitTests/Tests/../.objs/main.o Application/UnitTests/lib/libcpputest.a -Wl,--end-group -lm
Tôi nhận được nhiều lỗi như sau:
Application/UnitTests/lib/libcpputest.a(CommandLineTestRunner.o): In function `CommandLineTestRunner::parseArguments(TestPlugin*)':
Application/UnitTests/cpputest/src/CppUTest/.objs/../CommandLineTestRunner.cpp:114: undefined reference to `operator new(unsigned int, char const*, int)'
tôi không thể tìm ra những gì gây ra điều này. Tôi không nhận được toán tử mới miễn phí với C++?
Thật khó để giúp dựa trên thông tin này. Cố gắng * giảm * các điều kiện cần thiết để tái tạo sự cố. Dòng lệnh trên quá phức tạp, ngay cả khi chúng ta cho rằng mã đơn giản và không làm những việc như định nghĩa lại 'toán tử mới'. –
Lỗi đầu tiên có báo cáo lỗi mới của nhà điều hành không? Nếu không, lỗi đầu tiên được báo cáo là gì? –
Có, các lỗi duy nhất được báo cáo là lỗi mới của nhà điều hành. Cái đó được hiển thị là cái đầu tiên. – mbyrne215