今天在使用的ICEIce-3.3.1,发现一个很奇怪的问题,比方我定义了一个很简单的.ice文件内容如下
:
module DataParse
{
enum DfType{dfBase,dfEnum,dfOther};
enum DtType {dInt,dFloat,dString,dDate,dTime,dDataTime};
interface IDataItem;
sequence<IDataItem*> DataItemList;
sequence<string> SignList;
interface IDataItem
{
void SetItemId(string itemid);
string GetItemId();
IDataItem *GetDataItemById(string itemid);
string GetName();
int GetSignId();
string GetSign();
DfType GetTypeInfo();
string GetInfo();
bool HasEnableSign();
string GetTrueSign();
string GetFalseSign();
bool IsEnable();
void SetEnable(bool enable);
bool IsChange();
bool IsCanDelete();
void AddChildDataItem();
void RemoveChildDataItem(IDataItem *childdataitem);
DataItemList GetChildDataItemList();
IDataItem *GetParentItem();
};
};
并将文件命名为“DataItemParse.ice”放置在的D盘的跟目录:d:/DataItemParse.ice,然后命令行模式并跳转至D盘。
使用如下命令进行编译:slice2cpp DataItemParse.ice
报了一个错误:“This application has requested the Runtime to terminate it in an unu
Please contact the application's support team for more information.”
紧接着我将该文件放入D盘的“test”目录下即(d:/test),在命令下
使用同样的命令:slice2cpp DataItemParse.ice 结果能正确生成“DataItemParse.cpp”和“DataItemParse.h”文件。
将这个问题写出来是让别的朋友遇到时,可以不再大费周折了......