I'm working on a scene editor for my engine. My engine is a 3D engine with SPARK integrated for particles. And the editor uses Qt for GUI. I've compiled and run an example with my engine, and SPARK gets compiled fine. My problem is when I try to compile it in my editor. I get these errors:
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2143: syntax error : missing ')' before '&'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2143: syntax error : missing ';' before '&'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2182: 'Particle' : illegal use of type 'void'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2059: syntax error : ')'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2143: syntax error : missing ';' before 'const'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(226): error C2208: 'const int' : no members defined using this type
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(236): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(282): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(347): error C2589: '(' : illegal token on right side of '::'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(347): error C2143: syntax error : missing ';' before '::'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(347): error C2059: syntax error : '::'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(348): error C2143: syntax error : missing ';' before '{'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(348): error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C2065: 'particle' : undeclared identifier
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C2597: illegal reference to non-static member 'SPK::Emitter::Particle'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C3867: 'SPK::Emitter::Particle': function call missing argument list; use '&SPK::Emitter::Particle' to create a pointer to member
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C2761: 'generateVelocity' : member function redeclaration not allowed
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C2143: syntax error : missing ';' before 'const'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(353): error C2059: syntax error : 'const'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(354): error C2143: syntax error : missing ';' before '{'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Core/SPK_Emitter.h(354): error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(98): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(119): error C2065: 'particle' : undeclared identifier
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(119): error C2597: illegal reference to non-static member 'SPK::Emitter::Particle'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(119): error C3867: 'SPK::Emitter::Particle': function call missing argument list; use '&SPK::Emitter::Particle' to create a pointer to member
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(119): error C2062: type 'float' unexpected
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(120): error C2143: syntax error : missing ';' before '{'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StraightEmitter.h(120): error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_SphericEmitter.h(151): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_NormalEmitter.h(119): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_RandomEmitter.h(51): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(50): error C2327: 'SPK::Emitter::Particle' : is not a type name, static, or enumerator
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(61): error C2065: 'particle' : undeclared identifier
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(61): error C2597: illegal reference to non-static member 'SPK::Emitter::Particle'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(61): error C3867: 'SPK::Emitter::Particle': function call missing argument list; use '&SPK::Emitter::Particle' to create a pointer to member
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(61): error C2062: type 'float' unexpected
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(62): error C2143: syntax error : missing ';' before '{'
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Emitters/SPK_StaticEmitter.h(62): error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\tanner\documents\projects\icicle engine\icicle engine\include\depend\spark\Extensions/Modifiers/SPK_Rotator.h(8102028): fatal error C1903: unable to recover from previous error(s); stopping compilation
1>
1>Build FAILED.
None of these show up in my other test application. I know I've linked everything correctly because I can initialize my physics module fine, which doesn't have any dependency on SPARK, and it has library files and headers in the same place for it's dependencies.