Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Compile Bug

オープン
#1,187 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
cpp
領域
compilers

調査の方向性

まず、報告されたエラー行にある生成済みヘッダー LoggerEvent.h、LogLevel.h、SFSEvent.h、Console.h、lime/media/OpenALAudioContext.h を調査し、issue にある生成済みの OpenALAudioContext コードと比較します。Windows のコンパイル失敗を再現し、どの生成済み宣言が MSVC の構文エラーを引き起こしているのかを特定します。影響を受けるヘッダーが正常にコンパイルできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

When I define the CURL Extern, the code does not compile.

Extern Code:

package curl.extern;
import cpp.CastCharStar;

@:keep
@:include('curl/curl.h')
@:build(curl.linc.Linc.touch())
@:build(curl.linc.Linc.xml('curl'))
extern class ExternCURL {
	@:native("curl_easy_init")
	public static function easy_init():cpp.Star<CURLHandle>;

	@:native("curl_easy_duphandle")
	public static function easy_duphandle(handle:cpp.Star<CURLHandle>):cpp.Star<CURLHandle>;

	@:native("curl_easy_escape")
	public static function easy_escape(handle:cpp.Star<CURLHandle>, string:cpp.ConstCharStar, length:Int):cpp.ConstCharStar;

	@:native("curl_getdate")
	public static function getdate(string:cpp.ConstCharStar, now:AbstractStar<TimeT>):TimeT;

	// CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
	@:native("curl_easy_setopt")
	public static function easy_setopt_function<T>(handle:cpp.Star<CURLHandle>, option:CURLOption, parameter:T):CURLCode;

	@:native("curl_easy_setopt")
	public static function easy_setopt_string(handle:cpp.Star<CURLHandle>, option:CURLOption, parameter:CastCharStar):CURLCode;

	@:native("curl_easy_setopt")
	public static function easy_setopt<T, K>(handle:cpp.Star<CURLHandle>, option:CURLOption, parameter:T, ?bytes:K):CURLCode;

	@:native("curl_easy_perform")
	public static function easy_perform(handle:cpp.Star<CURLHandle>):CURLCode;

	@:native("curl_easy_reset")
	public static function easy_reset(handle:cpp.Star<CURLHandle>):Void;

	@:native("curl_global_cleanup")
	public static function global_cleanup():Void;

	@:native("curl_global_init")
	public static function global_init(flags:Int):CURLCode;

	@:native("curl_easy_cleanup")
	public static function easy_cleanup(handle:cpp.Star<CURLHandle>):Int;

	@:native("curl_easy_pause")
	public static function easy_pause(handle:cpp.Star<CURLHandle>, mask:Int):CURLCode;

	@:native("curl_easy_strerror")
	public static function easy_strerror(errornum:CURLCode):cpp.ConstCharStar;

	@:native("curl_easy_unescape")
	public static function easy_unescape(handle:cpp.Star<CURLHandle>, input:cpp.ConstCharStar, inlength:Int, outlength:AbstractStar<Int>):cpp.ConstCharStar;

	@:native("curl_version")
	public static function version():cpp.ConstCharStar;
}

Error:

D:\App\Export\windows\obj\include\com/smartfoxserver/v2/logging/LoggerEvent.h(54): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\com/smartfoxserver/v2/logging/LoggerEvent.h(54): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\com/smartfoxserver/v2/logging/LogLevel.h(60): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\com/smartfoxserver/v2/logging/LogLevel.h(60): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\com/smartfoxserver/v2/core/SFSEvent.h(61): error C2059: syntax error: '-'
D:\App\Export\windows\obj\include\com/smartfoxserver/v2/core/SFSEvent.h(61): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\com/junkbyte/console/Console.h(84): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\com/junkbyte/console/Console.h(84): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(47): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(47): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(48): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(48): error C2238: unexpected token(s) preceding ';'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(88): error C2059: syntax error: 'constant'
D:\App\Export\windows\obj\include\lime/media/OpenALAudioContext.h(88): error C2238: unexpected token(s) preceding ';'

But nothing seems to be wrong with the generated code.

Screenshot of error line:
Image

Full Code:

// Generated by Haxe 4.3.6
#ifndef INCLUDED_lime_media_OpenALAudioContext
#define INCLUDED_lime_media_OpenALAudioContext

#ifndef HXCPP_H
#include <hxcpp.h>
#endif

HX_DECLARE_CLASS2(lime,media,OpenALAudioContext)
HX_DECLARE_CLASS2(lime,utils,ArrayBufferView)

namespace lime{
namespace media{


class HXCPP_CLASS_ATTRIBUTES OpenALAudioContext_obj : public ::hx::Object
{
	public:
		typedef ::hx::Object super;
		typedef OpenALAudioContext_obj OBJ_;
		OpenALAudioContext_obj();

	public:
		enum { _hx_ClassId = 0x1531d04d };

		void __construct();
		inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="lime.media.OpenALAudioContext")
			{ return ::hx::Object::operator new(inSize,inContainer,inName); }
		inline void *operator new(size_t inSize, int extra)
			{ return ::hx::Object::operator new(inSize+extra,false,"lime.media.OpenALAudioContext"); }
		static ::hx::ObjectPtr< OpenALAudioContext_obj > __new();
		static ::hx::ObjectPtr< OpenALAudioContext_obj > __alloc(::hx::Ctx *_hx_ctx);
		static void * _hx_vtable;
		static Dynamic __CreateEmpty();
		static Dynamic __Create(::hx::DynamicArray inArgs);
		//~OpenALAudioContext_obj();

		HX_DO_RTTI_ALL;
		::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
		::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
		void __GetFields(Array< ::String> &outFields);
		static void __register();
		bool _hx_isInstanceOf(int inClassId);
		::String __ToString() const { return HX_("OpenALAudioContext",ae,da,cd,a1); }

		int NONE;
		int FALSE;
		int TRUE;
		int SOURCE_RELATIVE;
		int CONE_INNER_ANGLE;
		int CONE_OUTER_ANGLE;
		int PITCH;
		int POSITION;
		int DIRECTION;
		int VELOCITY;
		int LOOPING;
		int BUFFER;
		int GAIN;
		int MIN_GAIN;
		int MAX_GAIN;
		int ORIENTATION;
		int SOURCE_STATE;
		int INITIAL;
		int PLAYING;
		int PAUSED;
		int STOPPED;
		int BUFFERS_QUEUED;
		int BUFFERS_PROCESSED;
		int REFERENCE_DISTANCE;
		int ROLLOFF_FACTOR;
		int CONE_OUTER_GAIN;
		int MAX_DISTANCE;
		int SEC_OFFSET;
		int SAMPLE_OFFSET;
		int BYTE_OFFSET;
		int SOURCE_TYPE;
		int STATIC;
		int STREAMING;
		int UNDETERMINED;
		int FORMAT_MONO8;
		int FORMAT_MONO16;
		int FORMAT_STEREO8;
		int FORMAT_STEREO16;
		int FREQUENCY;
		int BITS;
		int CHANNELS;
		int SIZE;
		int NO_ERROR;
		int INVALID_NAME;
		int INVALID_ENUM;
		int INVALID_VALUE;
		int INVALID_OPERATION;
		int OUT_OF_MEMORY;
		int VENDOR;
		int VERSION;
		int RENDERER;
		int EXTENSIONS;
		int DOPPLER_FACTOR;
		int SPEED_OF_SOUND;
		int DOPPLER_VELOCITY;
		int DISTANCE_MODEL;
		int INVERSE_DISTANCE;
		int INVERSE_DISTANCE_CLAMPED;
		int LINEAR_DISTANCE;
		int LINEAR_DISTANCE_CLAMPED;
		int EXPONENT_DISTANCE;
		int EXPONENT_DISTANCE_CLAMPED;
		int REFRESH;
		int SYNC;
		int MONO_SOURCES;
		int STEREO_SOURCES;
		int INVALID_DEVICE;
		int INVALID_CONTEXT;
		int ATTRIBUTES_SIZE;
		int ALL_ATTRIBUTES;
		int DEFAULT_DEVICE_SPECIFIER;
		int DEVICE_SPECIFIER;
		int ENUMERATE_ALL_EXT;
		int DEFAULT_ALL_DEVICES_SPECIFIER;
		int ALL_DEVICES_SPECIFIER;
		void bufferData( ::Dynamic buffer,int format, ::lime::utils::ArrayBufferView data,int size,int freq);
		::Dynamic bufferData_dyn();

		void buffer3f( ::Dynamic buffer,int param,Float value1,Float value2,Float value3);
		::Dynamic buffer3f_dyn();

		void buffer3i( ::Dynamic buffer,int param,int value1,int value2,int value3);
		::Dynamic buffer3i_dyn();

		void bufferf( ::Dynamic buffer,int param,Float value);
		::Dynamic bufferf_dyn();

		void bufferfv( ::Dynamic buffer,int param,::Array< Float > values);
		::Dynamic bufferfv_dyn();

		void bufferi( ::Dynamic buffer,int param,int value);
		::Dynamic bufferi_dyn();

		void bufferiv( ::Dynamic buffer,int param,::Array< int > values);
		::Dynamic bufferiv_dyn();

		bool closeDevice( ::Dynamic device);
		::Dynamic closeDevice_dyn();

		 ::Dynamic createContext( ::Dynamic device,::Array< int > attrlist);
		::Dynamic createContext_dyn();

		 ::Dynamic createBuffer();
		::Dynamic createBuffer_dyn();

		 ::Dynamic createSource();
		::Dynamic createSource_dyn();

		void deleteBuffer( ::Dynamic buffer);
		::Dynamic deleteBuffer_dyn();

		void deleteBuffers(::cpp::VirtualArray buffers);
		::Dynamic deleteBuffers_dyn();

		void deleteSource( ::Dynamic source);
		::Dynamic deleteSource_dyn();

		void deleteSources(::cpp::VirtualArray sources);
		::Dynamic deleteSources_dyn();

		void destroyContext( ::Dynamic context);
		::Dynamic destroyContext_dyn();

		void disable(int capability);
		::Dynamic disable_dyn();

		void distanceModel(int distanceModel);
		::Dynamic distanceModel_dyn();

		void dopplerFactor(Float value);
		::Dynamic dopplerFactor_dyn();

		void dopplerVelocity(Float value);
		::Dynamic dopplerVelocity_dyn();

		void enable(int capability);
		::Dynamic enable_dyn();

		 ::Dynamic genSource();
		::Dynamic genSource_dyn();

		::cpp::VirtualArray genSources(int n);
		::Dynamic genSources_dyn();

		 ::Dynamic genBuffer();
		::Dynamic genBuffer_dyn();

		::cpp::VirtualArray genBuffers(int n);
		::Dynamic genBuffers_dyn();

		bool getBoolean(int param);
		::Dynamic getBoolean_dyn();

		::Array< bool > getBooleanv(int param,::hx::Null< int >  count);
		::Dynamic getBooleanv_dyn();

		::Array< Float > getBuffer3f( ::Dynamic buffer,int param);
		::Dynamic getBuffer3f_dyn();

		::Array< int > getBuffer3i( ::Dynamic buffer,int param);
		::Dynamic getBuffer3i_dyn();

		Float getBufferf( ::Dynamic buffer,int param);
		::Dynamic getBufferf_dyn();

		::Array< Float > getBufferfv( ::Dynamic buffer,int param,::hx::Null< int >  count);
		::Dynamic getBufferfv_dyn();

		int getBufferi( ::Dynamic buffer,int param);
		::Dynamic getBufferi_dyn();

		::Array< int > getBufferiv( ::Dynamic buffer,int param,::hx::Null< int >  count);
		::Dynamic getBufferiv_dyn();

		 ::Dynamic getContextsDevice( ::Dynamic context);
		::Dynamic getContextsDevice_dyn();

		 ::Dynamic getCurrentContext();
		::Dynamic getCurrentContext_dyn();

		Float getDouble(int param);
		::Dynamic getDouble_dyn();

		::Array< Float > getDoublev(int param,::hx::Null< int >  count);
		::Dynamic getDoublev_dyn();

		int getEnumValue(::String ename);
		::Dynamic getEnumValue_dyn();

		int getError( ::Dynamic device);
		::Dynamic getError_dyn();

		::String getErrorString( ::Dynamic device);
		::Dynamic getErrorString_dyn();

		Float getFloat(int param);
		::Dynamic getFloat_dyn();

		::Array< Float > getFloatv(int param,::hx::Null< int >  count);
		::Dynamic getFloatv_dyn();

		int getInteger(int param);
		::Dynamic getInteger_dyn();

		::Array< int > getIntegerv(int param,::hx::Null< int >  count, ::Dynamic device);
		::Dynamic getIntegerv_dyn();

		::Array< Float > getListener3f(int param);
		::Dynamic getListener3f_dyn();

		::Array< int > getListener3i(int param);
		::Dynamic getListener3i_dyn();

		Float getListenerf(int param);
		::Dynamic getListenerf_dyn();

		::Array< Float > getListenerfv(int param,::hx::Null< int >  count);
		::Dynamic getListenerfv_dyn();

		int getListeneri(int param);
		::Dynamic getListeneri_dyn();

		::Array< int > getListeneriv(int param,::hx::Null< int >  count);
		::Dynamic getListeneriv_dyn();

		 ::Dynamic getProcAddress(::String fname);
		::Dynamic getProcAddress_dyn();

		::Array< Float > getSource3f( ::Dynamic source,int param);
		::Dynamic getSource3f_dyn();

		Float getSourcef( ::Dynamic source,int param);
		::Dynamic getSourcef_dyn();

		::Array< int > getSource3i( ::Dynamic source,int param);
		::Dynamic getSource3i_dyn();

		::Array< Float > getSourcefv( ::Dynamic source,int param,::hx::Null< int >  count);
		::Dynamic getSourcefv_dyn();

		 ::Dynamic getSourcei( ::Dynamic source,int param);
		::Dynamic getSourcei_dyn();

		::Array< int > getSourceiv( ::Dynamic source,int param,::hx::Null< int >  count);
		::Dynamic getSourceiv_dyn();

		::String getString(int param, ::Dynamic device);
		::Dynamic getString_dyn();

		bool isBuffer( ::Dynamic buffer);
		::Dynamic isBuffer_dyn();

		bool isEnabled(int capability);
		::Dynamic isEnabled_dyn();

		bool isExtensionPresent(::String extname);
		::Dynamic isExtensionPresent_dyn();

		bool isSource( ::Dynamic source);
		::Dynamic isSource_dyn();

		void listener3f(int param,Float value1,Float value2,Float value3);
		::Dynamic listener3f_dyn();

		void listener3i(int param,int value1,int value2,int value3);
		::Dynamic listener3i_dyn();

		void listenerf(int param,Float value);
		::Dynamic listenerf_dyn();

		void listenerfv(int param,::Array< Float > values);
		::Dynamic listenerfv_dyn();

		void listeneri(int param,int value);
		::Dynamic listeneri_dyn();

		void listeneriv(int param,::Array< int > values);
		::Dynamic listeneriv_dyn();

		bool makeContextCurrent( ::Dynamic context);
		::Dynamic makeContextCurrent_dyn();

		 ::Dynamic openDevice(::String deviceName);
		::Dynamic openDevice_dyn();

		void pauseDevice( ::Dynamic device);
		::Dynamic pauseDevice_dyn();

		void processContext( ::Dynamic context);
		::Dynamic processContext_dyn();

		void resumeDevice( ::Dynamic device);
		::Dynamic resumeDevice_dyn();

		void source3f( ::Dynamic source,int param,Float value1,Float value2,Float value3);
		::Dynamic source3f_dyn();

		void source3i( ::Dynamic source,int param,int value1,int value2,int value3);
		::Dynamic source3i_dyn();

		void sourcef( ::Dynamic source,int param,Float value);
		::Dynamic sourcef_dyn();

		void sourcefv( ::Dynamic source,int param,::Array< Float > values);
		::Dynamic sourcefv_dyn();

		void sourcei( ::Dynamic source,int param, ::Dynamic value);
		::Dynamic sourcei_dyn();

		void sourceiv( ::Dynamic source,int param,::Array< int > values);
		::Dynamic sourceiv_dyn();

		void sourcePlay( ::Dynamic source);
		::Dynamic sourcePlay_dyn();

		void sourcePlayv(::cpp::VirtualArray sources);
		::Dynamic sourcePlayv_dyn();

		void sourceStop( ::Dynamic source);
		::Dynamic sourceStop_dyn();

		void sourceStopv(::cpp::VirtualArray sources);
		::Dynamic sourceStopv_dyn();

		void sourceRewind( ::Dynamic source);
		::Dynamic sourceRewind_dyn();

		void sourceRewindv(::cpp::VirtualArray sources);
		::Dynamic sourceRewindv_dyn();

		void sourcePause( ::Dynamic source);
		::Dynamic sourcePause_dyn();

		void sourcePausev(::cpp::VirtualArray sources);
		::Dynamic sourcePausev_dyn();

		void sourceQueueBuffer( ::Dynamic source, ::Dynamic buffer);
		::Dynamic sourceQueueBuffer_dyn();

		void sourceQueueBuffers( ::Dynamic source,int nb,::cpp::VirtualArray buffers);
		::Dynamic sourceQueueBuffers_dyn();

		 ::Dynamic sourceUnqueueBuffer( ::Dynamic source);
		::Dynamic sourceUnqueueBuffer_dyn();

		::cpp::VirtualArray sourceUnqueueBuffers( ::Dynamic source,int nb);
		::Dynamic sourceUnqueueBuffers_dyn();

		void speedOfSound(Float value);
		::Dynamic speedOfSound_dyn();

		void suspendContext( ::Dynamic context);
		::Dynamic suspendContext_dyn();

};

} // end namespace lime
} // end namespace media

#endif /* INCLUDED_lime_media_OpenALAudioContext */ 

主要言語
C++
スター
329
フォーク
230
平均マージ
2日 16時間
マージ済み PR(30日)
4

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

HaxeFoundation/hxcpp のほかの issue

HaxeFoundation/hxcpp の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。