我的QTCreator生成的Makefile有问题。一切正常,除非我尝试为我的测试创建一个新的可执行文件,我的终端说:bash: ./RunTests: cannot execute binary file: Exec format error
以下是我的MakeFile规则的样子:
TESTS: ../WannaBeRPG/testes.cpp ../WannaBeRPG/hero.h ../WannaBeRPG/charinterface.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o RunTests ../WannaBeRPG/testes.cpp
标志是:
CXX = g++
CXXFLAGS = -pipe -g -std=gnu++0x -Wall -W -fPIC $(DEFINES)
INCPATH = -I../WannaBeRPG -I. -I/usr/lib64/qt5/mkspecs/linux-g++
DEFINES = -DQT_QML_DEBUG
如果这无论如何有用,我的testes.cpp文件:
#include <gtest/gtest.h>
#include "hero.h"
TEST(teee, HPTEST)
{
Hero myHero("Hika",150,100,0,0,0,0,0,0,0);
EXPECT_EQ(100,myHero.getHP());
}
int main_tests(int argc, char* argv[])
{
testing::InitGoogleTest(&argc,argv);
return RUN_ALL_TESTS();
}
我正在使用Fedora。 任何想法为什么这样做?这个Makefile的主要exec工作正常。
答案 0 :(得分:0)
-c
的{{1}}参数告诉它不要链接你的二进制文件。因此,您的输出文件是目标文件而不是可执行文件。