Browse Source

fix linux build problems

Kolja Strohm 2 weeks ago
parent
commit
574fc1d165
5 changed files with 58 additions and 25 deletions
  1. 5 1
      Cache.h
  2. 4 0
      Framework Linux.vcxproj
  3. 27 6
      Framework Linux.vcxproj.filters
  4. 18 15
      JSON.h
  5. 4 3
      OperatingSystem.h

+ 5 - 1
Cache.h

@@ -1,7 +1,11 @@
 #pragma once
 
 #include "HashMap.h"
-#include "Time.h"
+#ifdef WIN32
+#    include "Time.h"
+#else
+#    include <sys/time.h>
+#endif
 
 namespace Framework
 {

+ 4 - 0
Framework Linux.vcxproj

@@ -63,6 +63,7 @@
     <UseDebugLibraries>false</UseDebugLibraries>
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <RemoteRootDir>/home/kolja/projects</RemoteRootDir>
+    <RemoteProjectRelDir>/home/kolja/projects/Framework/release/</RemoteProjectRelDir>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings" />
@@ -98,6 +99,9 @@
     <OutDir>$(RemoteRootDir)/Framework/release/</OutDir>
     <IntDir>$(RemoteRootDir)/Framework/release/</IntDir>
     <RemoteTargetPath>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</RemoteTargetPath>
+    <RemoteIntRelDir>/home/kolja/projects/Framework/release/</RemoteIntRelDir>
+    <RemoteOutRelDir>/home/kolja/projects/Framework/release/</RemoteOutRelDir>
+    <RemoteDeployDir>/home/kolja/projects/Framework/release/</RemoteDeployDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
     <TargetExt>.so</TargetExt>

+ 27 - 6
Framework Linux.vcxproj.filters

@@ -139,9 +139,6 @@
     <ClInclude Include="FrameworkMath.h">
       <Filter>Framework</Filter>
     </ClInclude>
-    <ClInclude Include="Time.h">
-      <Filter>Framework</Filter>
-    </ClInclude>
     <ClInclude Include="File.h">
       <Filter>Framework\OS\File</Filter>
     </ClInclude>
@@ -331,6 +328,21 @@
     <ClInclude Include="JsonEditor.h">
       <Filter>Framework\Data\JSON</Filter>
     </ClInclude>
+    <ClInclude Include="Timer.h">
+      <Filter>Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="AbstractElement.h">
+      <Filter>Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Assembly.h">
+      <Filter>Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="DataValidator.h">
+      <Filter>Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Stack.h">
+      <Filter>Framework</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="Image.cpp">
@@ -507,9 +519,6 @@
     <ClCompile Include="UIInitialization.cpp">
       <Filter>Framework</Filter>
     </ClCompile>
-    <ClCompile Include="Time.cpp">
-      <Filter>Framework</Filter>
-    </ClCompile>
     <ClCompile Include="Model3DCollection.cpp">
       <Filter>Framework\Graphics\3D</Filter>
     </ClCompile>
@@ -537,5 +546,17 @@
     <ClCompile Include="JsonEditor.cpp">
       <Filter>Framework\Data\JSON</Filter>
     </ClCompile>
+    <ClCompile Include="AbstractElement.cpp">
+      <Filter>Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Assembly.cpp">
+      <Filter>Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="DataValidator.cpp">
+      <Filter>Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Timer.cpp">
+      <Filter>Framework</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 18 - 15
JSON.h

@@ -37,20 +37,21 @@ namespace Framework
             __declspec(dllexport) JSONString* asString() const;
             __declspec(dllexport) JSONArray* asArray() const;
             __declspec(dllexport) JSONObject* asObject() const;
-            __declspec(
-                dllexport) const AbstractBool* asAbstractBool() const override;
-            __declspec(dllexport) const
-                AbstractNumber* asAbstractNumber() const override;
-            __declspec(dllexport) const
-                AbstractString* asAbstractString() const override;
-            __declspec(dllexport) const
-                AbstractArray* asAbstractArray() const override;
-            __declspec(dllexport) const
-                AbstractObject* asAbstractObject() const override;
+            __declspec(dllexport) const AbstractBool*
+            asAbstractBool() const override;
+            __declspec(dllexport) const AbstractNumber*
+            asAbstractNumber() const override;
+            __declspec(dllexport) const AbstractString*
+            asAbstractString() const override;
+            __declspec(dllexport) const AbstractArray*
+            asAbstractArray() const override;
+            __declspec(dllexport) const AbstractObject*
+            asAbstractObject() const override;
         };
-
-#pragma warning(push)
-#pragma warning(disable : 4250)
+#ifdef WIN32
+#    pragma warning(push)
+#    pragma warning(disable : 4250)
+#endif
 
         class JSONBool : public AbstractBool,
                          public JSONValue
@@ -245,7 +246,9 @@ namespace Framework
             __declspec(dllexport) JSONValue* clone() const override;
         };
 
-#pragma warning(pop)
+#ifdef WIN32
+#    pragma warning(pop)
+#endif
 
         __declspec(dllexport) JSONValue* loadJSONFromFile(Text path);
 
@@ -257,5 +260,5 @@ namespace Framework
             __declspec(dllexport) int findFieldEndInObject(const char* str);
             __declspec(dllexport) int findValueEndInObject(const char* str);
         }; // namespace Parser
-    }      // namespace JSON
+    } // namespace JSON
 } // namespace Framework

+ 4 - 3
OperatingSystem.h

@@ -1,4 +1,4 @@
-#ifndef Betriebssystem_H
+#ifndef Betriebssystem_H
 #define Betriebssystem_H
 #define MAX_KNOCHEN_ANZ 128
 #define _NOHEAP
@@ -36,12 +36,13 @@
 
 #else
 
+#    define OUT
 #    define __stdcall
 #    define __declspec(x)
 #    define __int64 long long
 #    define __int32 int
 #    define __int16 short
-#    define __int8 char
+#    define __int8  char
 #    define assert(x)
 #    include <pthread.h>
 #    include <stdio.h>
@@ -90,7 +91,7 @@ class CriticalSection;
 #    define EnterCriticalSection(x)      (*(x))->Enter()
 #    define LeaveCriticalSection(x)      (*(x))->Leave()
 #    include <unistd.h>
-#    define Sleep(x)                        usleep((x)*1000)
+#    define Sleep(x)                        usleep((x) * 1000)
 #    define ZeroMemory(Destination, Length) memset((Destination), 0, (Length))
 #    define HINSTANCE                       void*
 #    include <dlfcn.h>