gpt4 book ai didi

android - Xcode 编译 C++ 代码,但 Eclipse 不编译

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:49 26 4
gpt4 key购买 nike

我完全绝望地迷失在这里。我最近开始尝试使用 Cocos2d-x 将我的 iOS 应用程序移植到 Android,但我遇到了一个让我想举手的问题。

我正在用 C++ 创建一个类并尝试在游戏场景中设置它的值。我发现 Eclipse 太笨重了,以至于我想我会在 xcode 中完成大部分编码,而只使用 Eclipse 来处理布局。问题是,我的代码在 Xcode 中编译得很好,但在 Eclipse 中给我带来了很多错误。我究竟做错了什么?

多米诺.h

#ifndef DOMINO_H_
#define DOMINO_H_

using namespace std;

#include <string.h>

#include "cocos2d.h"

class Domino : public cocos2d::CCSprite
{
public:
//Default Contructor
Domino();

//Overload Contructor
Domino(std::string, std::string, int, int, int, int, int, int, int, int);

//Deconstructor Contructor
~Domino();

//Accessor Constructor
string getstr_tilename() ;
string getstr_mirrortilename() ;
int getint_leading();
int getint_trailing();
int getint_suitrank() ;
int getint_trickvalue() ;
int getint_playerid() ;
int getint_matchtile() ;
int getint_bidvalue() ;
int getint_markvalue() ;

//Mutator Function
void setstr_tilename(string) ;
void setstr_mirrortilename(string) ;
void setint_leading(int);
void setint_trailing(int);
void setint_suitrank(int) ;
void setint_trickvalue(int) ;
void setint_playerid(int) ;
void setint_matchtile(int) ;
void setint_bidvalue(int) ;
void setint_markvalue(int) ;

private:
int _int_leading;
int _int_trailing;
int _int_suitrank;
int _int_trickvalue;
int _int_playerid;
int _int_matchtile;
int _int_bidvalue;
int _int_markvalue;

std::string _str_tilename;
std::string _str_mirrortilename;
};


#endif /* DOMINO_H_ */

多米诺.cpp

#include "Domino.h"

Domino::Domino()
{

_str_tilename="";
_str_mirrortilename="";

_int_leading=0;
_int_trailing=0;
_int_suitrank=0;
_int_trickvalue=0;
_int_playerid=0;
_int_matchtile=0;
_int_bidvalue=0;
_int_markvalue=0;
}


Domino::Domino(string str_tilename, string str_mirrortilename, int int_leading, int int_trailing, int int_suitrank, int int_trickvalue, int int_playerid, int int_matchtile, int int_bidvalue, int int_markvalue)
{

_str_tilename=str_tilename;
_str_mirrortilename=str_mirrortilename;

_int_leading=int_leading;
_int_trailing=int_trailing;
_int_suitrank=int_suitrank;
_int_trickvalue=int_trickvalue;
_int_playerid=int_playerid;
_int_matchtile=int_matchtile;
_int_bidvalue=int_bidvalue;
_int_markvalue=int_markvalue;


}

Domino::~Domino()
{


}

//===============================Getters======================================
string Domino::getstr_tilename()
{
return _str_tilename;

}

string Domino::getstr_mirrortilename()
{
return _str_mirrortilename;

}

int Domino::getint_leading()
{
return _int_leading;

}

int Domino::getint_trailing()
{
return _int_trailing;

}

int Domino::getint_suitrank()
{
return _int_suitrank;

}


int Domino::getint_trickvalue()
{
return _int_trickvalue;

}

int Domino::getint_playerid()
{
return _int_playerid;

}

int Domino::getint_matchtile()
{
return _int_matchtile;

}

int Domino::getint_bidvalue()
{
return _int_bidvalue;

}

int Domino::getint_markvalue()
{
return _int_markvalue;

}

//===============================Setters======================================

void Domino::setstr_tilename(string str_tilename)
{
_str_tilename=str_tilename;

}

void Domino::setstr_mirrortilename(string str_mirrortilename)
{
_str_mirrortilename=str_mirrortilename;

}

void Domino::setint_leading(int int_leading)
{
_int_leading=int_leading;

}

void Domino::setint_trailing(int int_trailing)
{
_int_trailing=int_trailing;

}

void Domino::setint_suitrank(int int_suitrank)
{
_int_suitrank=int_suitrank;

}


void Domino::setint_trickvalue(int int_trickvalue)
{
_int_trickvalue=int_trickvalue;

}

void Domino::setint_playerid(int int_playerid)
{
_int_playerid=int_playerid;

}

void Domino::setint_matchtile(int int_matchtile)
{
_int_matchtile=int_matchtile;

}

void Domino::setint_bidvalue(int int_bidvalue)
{
_int_bidvalue=int_bidvalue;

}

void Domino::setint_markvalue(int int_markvalue)
{
_int_markvalue=int_markvalue;

}

游戏场景.cpp

Domino d00;
d00.initWithSpriteFrameName("blank.png");
d00.setstr_tilename("0-0.png");
d00.setstr_mirrortilename("0-0.png");
d00.setint_leading(0);
d00.setint_trailing(0);
d00.setint_bidvalue(3);
d00.setint_matchtile(0);

在 Xcode 中,它构建得很好,甚至可以在 iphone 模拟器中显示游戏场景。

在 Eclipse 中,当我尝试创建此对象时收到“对 Domino::Domino 的 undefined reference ”错误。后续消息属于“对 `Domino::setstr_tilename(std::basic_string, std::allocator >) 的 undefined reference ”种类。

我需要做什么才能让它在两个 IDE 中工作?

最佳答案

新建一个cocos2d-x for android的工程并替换文件。 cpp 和。 h 结束构建项目...

http://www.cocos2d-x.org/wiki/How_to_build_and_run_HelloWorld_on_Android_NDK_r5_and_above

关于android - Xcode 编译 C++ 代码,但 Eclipse 不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com