Home Bug Reports

slice2cpp --dll-export error

xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
Hello

i have a problem when test my application with the new Ice-3.1.1 for vs-8
slice2cpp.exe --dll-export ONREZ_API --include-dir Base -Ic:/Ice-3.1.1/slice -I../../../slice ../../../slice/Base/Date.ice
move *.h ../../include/Base

Slice definition
#ifndef _Oz_Base_Date_ICE_
#define _Oz_Base_Date_ICE_

module Oz
{
	module Base
	{
		interface DateAdmin
		{
			idempotent bool 
			setDate(
				int year,
				int month,
				int day);
				
			idempotent bool 
			setYear(
				int year);
			
			idempotent bool 
			setMonth(
				int month);
			
			idempotent bool 
			setDay(
				int day);
	
			idempotent bool 
			setTime(
				int hour,
				int min,
				int sec);
				
			idempotent bool 
			setHour(
				int hour);
			
			idempotent bool 
			setMin(
				int min);
			
			idempotent bool 
			setSec(
				int sec);

			nonmutating string 
			getDate();
			
			nonmutating string 
			getTime();
			
			nonmutating int 
			getDay();
			
			nonmutating int 
			getMonth();
			
			nonmutating int 
			getYear();
	
			nonmutating int 
			getHour();
			
			nonmutating int 
			getMin();
			
			nonmutating int 
			getSec();
			
			nonmutating long
			getUnixTime();
		};
		
		/**
		 * Representa una fecha
		 */
		
		class Date implements DateAdmin
		{
			long unixTime;
			int year;
			int month;
			int day;
	
			int hour;
			int minute;
			int sec;
		};
	};
};
#endif

Generated code in Date.h
namespace Oz
{

namespace Base
{

typedef ::IceInternal::Handle< ::Oz::Base::DateAdmin> DateAdminPtr;
typedef ::IceInternal::ProxyHandle< ::IceProxy::Oz::Base::DateAdmin> DateAdminPrx;

ONREZ_API void __write(::IceInternal::BasicStream*, const DateAdminPrx&);
ONREZ_API void __read(::IceInternal::BasicStream*, DateAdminPrx&);
ONREZ_API void __write(::IceInternal::BasicStream*, const DateAdminPtr&);
ONREZ_API void __patch__DateAdminPtr(void*, ::Ice::ObjectPtr&);

typedef ::IceInternal::Handle< ::Oz::Base::Date> DatePtr;
typedef ::IceInternal::ProxyHandle< ::IceProxy::Oz::Base::Date> DatePrx;

ONREZ_API void __write(::IceInternal::BasicStream*, const DatePrx&);
ONREZ_API void __read(::IceInternal::BasicStream*, DatePrx&);
ONREZ_API void __write(::IceInternal::BasicStream*, const DatePtr&);
ONREZ_API void __patch__DatePtr(void*, ::Ice::ObjectPtr&);

void __addObject(const DatePtr&, ::IceInternal::GCCountMap&);
bool __usesClasses(const DatePtr&);
void __decRefUnsafe(DatePtr&);
void __clearHandleUnsafe(DatePtr&);

}

}

The 4 last method declaration don´t include the ONREZ_API macro and i have problems when link other Modules with the library that include the Date object. This methods are called from other Ice modules in classes that include a Date object by value not in my own code.

Thanks in advance

thanks

Comments

  • dwaynedwayne St. John's, NewfoundlandMember Dwayne BooneOrganization: ZeroC, Inc.Project: Internet Communications Engine
    I have posted a patch for this problem here. Thanks for the report.
Sign In or Register to comment.