Fehler: 'int main(int, char**)' previously defined here in C++
Ich bin Implementierung gtest jetzt, und es gibt mir eine Fehlermeldung : main, die zuvor hier definiert.
Hier utest.cpp
//Bring in my package's API, which is what I'm testing
#include "../src/test.cpp"
//Bring in gtest
#include <gtest/gtest.h>
//Declare a test
TEST(TestSuite, testCase1)
{
EXPECT_EQ(5,getX(5));
}
//Run all the tests that were declared with TEST()
int main(int argc, char **argv){
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Und hier ist der code, den ich Teste
test.cpp
#include "ros/ros.h"
#include "std_msgs/String.h"
#include <Project2Sample/R_ID.h>
#include <geometry_msgs/Twist.h>
#include <nav_msgs/Odometry.h>
#include <sensor_msgs/LaserScan.h>
#include <sstream>
#include "math.h"
int getX(int x)
{
return x;
}
int main(int argc, char **argv)
{
return 0;
}
Nichts test.cpp main sondern der eigentliche code wird einige codes, die in main.
Ich nicht über header-Dateien für utest und test cpp-Dateien
Versuchte ich
#ifndef UTEST_H
#define UTEST_H
und nicht behoben der Fehler.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Fehlermeldung besagt, was das problem ist, Sie haben zwei
main()
Funktionen. Ich glaube, Sie möchten entfernen Sie die doppeltenmain()
aus test.cpp.