Browse Source

Updated build for MSVS. Some compile fixes to FuzzyLite source.

DjWarmonger 11 years ago
parent
commit
c87f2cdaaf

+ 175 - 39
AI/FuzzyLite/FuzzyLite.vcxproj

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
@@ -19,44 +19,172 @@
     </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="AreaCentroidAlgorithm.cpp" />
-    <ClCompile Include="CompoundTerm.cpp" />
-    <ClCompile Include="DescriptiveAntecedent.cpp" />
-    <ClCompile Include="DiscreteTerm.cpp" />
-    <ClCompile Include="FunctionTerm.cpp" />
-    <ClCompile Include="FuzzyAnd.cpp" />
-    <ClCompile Include="FuzzyAntecedent.cpp" />
-    <ClCompile Include="FuzzyConsequent.cpp" />
-    <ClCompile Include="FuzzyDefuzzifier.cpp" />
-    <ClCompile Include="FuzzyEngine.cpp" />
-    <ClCompile Include="FuzzyException.cpp" />
-    <ClCompile Include="FuzzyExceptions.cpp" />
-    <ClCompile Include="FuzzyModulation.cpp" />
-    <ClCompile Include="FuzzyOperation.cpp" />
-    <ClCompile Include="FuzzyOperator.cpp" />
-    <ClCompile Include="FuzzyOr.cpp" />
-    <ClCompile Include="FuzzyRule.cpp" />
-    <ClCompile Include="Hedge.cpp" />
-    <ClCompile Include="HedgeSet.cpp" />
-    <ClCompile Include="InfixToPostfix.cpp" />
-    <ClCompile Include="InputLVar.cpp" />
-    <ClCompile Include="LinguisticTerm.cpp" />
-    <ClCompile Include="LinguisticVariable.cpp" />
-    <ClCompile Include="main.cpp" />
-    <ClCompile Include="MamdaniConsequent.cpp" />
-    <ClCompile Include="MamdaniRule.cpp" />
-    <ClCompile Include="OutputLVar.cpp" />
-    <ClCompile Include="RectangularTerm.cpp" />
-    <ClCompile Include="RuleBlock.cpp" />
-    <ClCompile Include="ShoulderTerm.cpp" />
-    <ClCompile Include="SingletonTerm.cpp" />
-    <ClCompile Include="StrOp.cpp" />
-    <ClCompile Include="TakagiSugenoConsequent.cpp" />
-    <ClCompile Include="TakagiSugenoRule.cpp" />
-    <ClCompile Include="TakagiSugenoTerm.cpp" />
-    <ClCompile Include="test.cpp" />
-    <ClCompile Include="TrapezoidalTerm.cpp" />
-    <ClCompile Include="TriangularTerm.cpp" />
+    <ClInclude Include="fuzzylite\fl\Console.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\Bisector.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\Centroid.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\Defuzzifier.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\IntegralDefuzzifier.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\LargestOfMaximum.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\MeanOfMaximum.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\SmallestOfMaximum.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\WeightedAverage.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\WeightedDefuzzifier.h" />
+    <ClInclude Include="fuzzylite\fl\defuzzifier\WeightedSum.h" />
+    <ClInclude Include="fuzzylite\fl\Engine.h" />
+    <ClInclude Include="fuzzylite\fl\Exception.h" />
+    <ClInclude Include="fuzzylite\fl\factory\CloningFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\ConstructionFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\DefuzzifierFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\FactoryManager.h" />
+    <ClInclude Include="fuzzylite\fl\factory\FunctionFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\HedgeFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\SNormFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\TermFactory.h" />
+    <ClInclude Include="fuzzylite\fl\factory\TNormFactory.h" />
+    <ClInclude Include="fuzzylite\fl\fuzzylite.h" />
+    <ClInclude Include="fuzzylite\fl\Headers.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Any.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Extremely.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Hedge.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Not.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Seldom.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Somewhat.h" />
+    <ClInclude Include="fuzzylite\fl\hedge\Very.h" />
+    <ClInclude Include="fuzzylite\fl\imex\CppExporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\Exporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FclExporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FclImporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FisExporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FisImporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FldExporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FllExporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\FllImporter.h" />
+    <ClInclude Include="fuzzylite\fl\imex\Importer.h" />
+    <ClInclude Include="fuzzylite\fl\imex\JavaExporter.h" />
+    <ClInclude Include="fuzzylite\fl\norm\SNorm.h" />
+    <ClInclude Include="fuzzylite\fl\norm\TNorm.h" />
+    <ClInclude Include="fuzzylite\fl\Operation.h" />
+    <ClInclude Include="fuzzylite\fl\rule\Antecedent.h" />
+    <ClInclude Include="fuzzylite\fl\rule\Consequent.h" />
+    <ClInclude Include="fuzzylite\fl\rule\Expression.h" />
+    <ClInclude Include="fuzzylite\fl\rule\Rule.h" />
+    <ClInclude Include="fuzzylite\fl\rule\RuleBlock.h" />
+    <ClInclude Include="fuzzylite\fl\term\Accumulated.h" />
+    <ClInclude Include="fuzzylite\fl\term\Activated.h" />
+    <ClInclude Include="fuzzylite\fl\term\Bell.h" />
+    <ClInclude Include="fuzzylite\fl\term\Concave.h" />
+    <ClInclude Include="fuzzylite\fl\term\Constant.h" />
+    <ClInclude Include="fuzzylite\fl\term\Cosine.h" />
+    <ClInclude Include="fuzzylite\fl\term\Discrete.h" />
+    <ClInclude Include="fuzzylite\fl\term\Function.h" />
+    <ClInclude Include="fuzzylite\fl\term\Gaussian.h" />
+    <ClInclude Include="fuzzylite\fl\term\GaussianProduct.h" />
+    <ClInclude Include="fuzzylite\fl\term\Linear.h" />
+    <ClInclude Include="fuzzylite\fl\term\PiShape.h" />
+    <ClInclude Include="fuzzylite\fl\term\Ramp.h" />
+    <ClInclude Include="fuzzylite\fl\term\Rectangle.h" />
+    <ClInclude Include="fuzzylite\fl\term\Sigmoid.h" />
+    <ClInclude Include="fuzzylite\fl\term\SigmoidDifference.h" />
+    <ClInclude Include="fuzzylite\fl\term\SigmoidProduct.h" />
+    <ClInclude Include="fuzzylite\fl\term\Spike.h" />
+    <ClInclude Include="fuzzylite\fl\term\SShape.h" />
+    <ClInclude Include="fuzzylite\fl\term\Term.h" />
+    <ClInclude Include="fuzzylite\fl\term\Trapezoid.h" />
+    <ClInclude Include="fuzzylite\fl\term\Triangle.h" />
+    <ClInclude Include="fuzzylite\fl\term\ZShape.h" />
+    <ClInclude Include="fuzzylite\fl\variable\InputVariable.h" />
+    <ClInclude Include="fuzzylite\fl\variable\OutputVariable.h" />
+    <ClInclude Include="fuzzylite\fl\variable\Variable.h" />
+    <ClInclude Include="StdInc.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="fuzzylite\src\Console.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\Bisector.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\Centroid.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\IntegralDefuzzifier.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\LargestOfMaximum.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\MeanOfMaximum.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\SmallestOfMaximum.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\WeightedAverage.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\WeightedDefuzzifier.cpp" />
+    <ClCompile Include="fuzzylite\src\defuzzifier\WeightedSum.cpp" />
+    <ClCompile Include="fuzzylite\src\Engine.cpp" />
+    <ClCompile Include="fuzzylite\src\Exception.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\CloningFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\ConstructionFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\DefuzzifierFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\FactoryManager.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\FunctionFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\HedgeFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\SNormFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\TermFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\factory\TNormFactory.cpp" />
+    <ClCompile Include="fuzzylite\src\fuzzylite.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Any.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Extremely.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Not.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Seldom.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Somewhat.cpp" />
+    <ClCompile Include="fuzzylite\src\hedge\Very.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\CppExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\Exporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FclExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FclImporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FisExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FisImporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FldExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FllExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\FllImporter.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\Importer.cpp" />
+    <ClCompile Include="fuzzylite\src\imex\JavaExporter.cpp" />
+    <ClCompile Include="fuzzylite\src\main.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\AlgebraicSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\BoundedSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\DrasticSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\EinsteinSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\HamacherSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\Maximum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\NilpotentMaximum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\s\NormalizedSum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\AlgebraicProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\BoundedDifference.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\DrasticProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\EinsteinProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\HamacherProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\Minimum.cpp" />
+    <ClCompile Include="fuzzylite\src\norm\t\NilpotentMinimum.cpp" />
+    <ClCompile Include="fuzzylite\src\Operation.cpp" />
+    <ClCompile Include="fuzzylite\src\rule\Antecedent.cpp" />
+    <ClCompile Include="fuzzylite\src\rule\Consequent.cpp" />
+    <ClCompile Include="fuzzylite\src\rule\Expression.cpp" />
+    <ClCompile Include="fuzzylite\src\rule\Rule.cpp" />
+    <ClCompile Include="fuzzylite\src\rule\RuleBlock.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Accumulated.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Activated.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Bell.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Concave.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Constant.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Cosine.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Discrete.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Function.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Gaussian.cpp" />
+    <ClCompile Include="fuzzylite\src\term\GaussianProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Linear.cpp" />
+    <ClCompile Include="fuzzylite\src\term\PiShape.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Ramp.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Rectangle.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Sigmoid.cpp" />
+    <ClCompile Include="fuzzylite\src\term\SigmoidDifference.cpp" />
+    <ClCompile Include="fuzzylite\src\term\SigmoidProduct.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Spike.cpp" />
+    <ClCompile Include="fuzzylite\src\term\SShape.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Term.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Trapezoid.cpp" />
+    <ClCompile Include="fuzzylite\src\term\Triangle.cpp" />
+    <ClCompile Include="fuzzylite\src\term\ZShape.cpp" />
+    <ClCompile Include="fuzzylite\src\variable\InputVariable.cpp" />
+    <ClCompile Include="fuzzylite\src\variable\OutputVariable.cpp" />
+    <ClCompile Include="fuzzylite\src\variable\Variable.cpp" />
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{D15B34EC-A32C-4968-9B0B-66998B579364}</ProjectGuid>
@@ -141,6 +269,9 @@
       <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
     </Link>
+    <ClCompile>
+      <AdditionalIncludeDirectories>./fuzzylite;.</AdditionalIncludeDirectories>
+    </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile />
@@ -161,6 +292,11 @@
       <AdditionalLibraryDirectories>$(OutDir)..;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <OutputFile>$(OutDir)FuzzyLite.dll</OutputFile>
     </Link>
+    <ClCompile>
+      <AdditionalIncludeDirectories>./fuzzylite;.</AdditionalIncludeDirectories>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <PrecompiledHeaderFile>StdInc.h</PrecompiledHeaderFile>
+    </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RD|x64'">
     <ClCompile />

+ 1 - 7
AI/FuzzyLite/fuzzylite/CMakeLists.txt

@@ -14,7 +14,7 @@ add_definitions(-DFL_BUILD_PATH="${CMAKE_SOURCE_DIR}") #used to determine FL__FI
 
 option(FL_USE_FLOAT "Use fl::scalar as float" OFF)
 option(FL_BACKTRACE "Provide backtrace information in case of errors" OFF)
-option(FL_CPP11 "Builds utilizing C++11, i.e., passing -std=c++11" ON)
+option(FL_CPP11 "Builds utilizing C++11, i.e., passing -std=c++11" OFF)
 
 if(FL_USE_FLOAT)
     add_definitions(-DFL_USE_FLOAT)
@@ -104,17 +104,11 @@ add_library(fl-shared SHARED ${fl-headers} ${fl-sources})
 set_target_properties(fl-shared PROPERTIES OUTPUT_NAME fuzzylite)
 set_target_properties(fl-shared PROPERTIES DEBUG_POSTFIX d)
 set_target_properties(fl-shared PROPERTIES COMPILE_DEFINITIONS "FL_EXPORT_LIBRARY")
-if (UNIX)
-set_target_properties(fl-shared PROPERTIES COMPILE_FLAGS "-fPIC")
-endif()
 target_link_libraries(fl-shared ${FL_LIBS})
 
 add_library(fl-static STATIC ${fl-headers} ${fl-sources})
 set_target_properties(fl-static PROPERTIES OUTPUT_NAME fuzzylite-static)
 set_target_properties(fl-static PROPERTIES DEBUG_POSTFIX d)
-if (UNIX)
-set_target_properties(fl-static PROPERTIES COMPILE_FLAGS "-fPIC")
-endif()
 target_link_libraries(fl-static ${FL_LIBS})
 
 add_executable(fl-bin src/main.cpp)

+ 2 - 0
AI/FuzzyLite/fuzzylite/fl/fuzzylite.h

@@ -30,6 +30,8 @@
 #include <sstream>
 #include <limits>
 #include <memory>
+#include "../../Global.h"
+#include <iso646.h>
 
 #ifndef FL_VERSION
 #define FL_VERSION "?"

+ 1 - 1
AI/FuzzyLite/fuzzylite/src/imex/FclImporter.cpp

@@ -531,7 +531,7 @@ namespace fl {
         if (token.size() != 2) {
             std::ostringstream ex;
             ex << "[syntax error] expected property of type 'start .. end', "
-                    << "but found <" << range << "> in line: " << line;
+                    << "but found <" << range.str() << "> in line: " << line;
             throw fl::Exception(ex.str(), FL_AT);
         }
         scalar minimum, maximum;

+ 2 - 0
AI/VCAI/Fuzzy.cpp

@@ -1,5 +1,7 @@
 #include "StdInc.h"
 #include "Fuzzy.h"
+#include "src/Engine.cpp"
+#include "src/Operation.cpp"
 #include <limits>
 
 #include "../../lib/mapObjects/MapObjects.h"

+ 2 - 4
AI/VCAI/VCAI.vcxproj

@@ -87,8 +87,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
-      <AdditionalIncludeDirectories>
-      </AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(FUZZYLITEDIR)</AdditionalIncludeDirectories>
       <PrecompiledHeader>Use</PrecompiledHeader>
       <PrecompiledHeaderFile>StdInc.h</PrecompiledHeaderFile>
       <AdditionalOptions>/Zm210 %(AdditionalOptions)</AdditionalOptions>
@@ -113,8 +112,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'">
     <ClCompile>
-      <AdditionalIncludeDirectories>
-      </AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(FUZZYLITEDIR)</AdditionalIncludeDirectories>
       <PrecompiledHeader>Use</PrecompiledHeader>
       <PrecompiledHeaderFile>StdInc.h</PrecompiledHeaderFile>
       <AdditionalOptions>/Zm199 %(AdditionalOptions)</AdditionalOptions>